<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Pin: Inspection API for IA-32 and Intel(R) 64 instructions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Pin
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">Inspection API for IA-32 and Intel(R) 64 instructions<div class="ingroups"><a class="el" href="group__API__REF.html">Instrumentation API Reference</a> &raquo; <a class="el" href="group__INS__REF.html">INS: Instruction Object</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gaa0f5cf48b3b01ce2e18a76312cf5ebbd"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaa0f5cf48b3b01ce2e18a76312cf5ebbd">PREDICATE</a> { <br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbda7e1481ea9f8640824c67debe5da81253">PREDICATE_ALWAYS_TRUE</a>, 
<br />
&#160;&#160;<b>PREDICATE_INVALID</b>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbdae481604bc682f660cd96d45c95fbf541">PREDICATE_BELOW</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbda1cd755066bf408356fb8fc32d61e8028">PREDICATE_BELOW_OR_EQUAL</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbda2b6e7cdf781ec2170815815dff531edd">PREDICATE_LESS</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbdaf90b5f1b923d7cd99479059e4ef44add">PREDICATE_LESS_OR_EQUAL</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbdacbcad233874b6109daa00b55d85171fa">PREDICATE_NOT_BELOW</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbda23b2d827875950b7040425fb0a305715">PREDICATE_NOT_BELOW_OR_EQUAL</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbdacb6e8e25dc96a0f93d59c23d8b5ac1dc">PREDICATE_NOT_LESS</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbda752dda94b045552647b706d6a96b1eb1">PREDICATE_NOT_LESS_OR_EQUAL</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbdada1eedda919626c9b51b268619a329f2">PREDICATE_NOT_OVERFLOW</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbdac0a8c6561a8983e0e2178c009330e2a2">PREDICATE_NOT_PARITY</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbda706783e8f9e34d7083d7aa84c0dbfccf">PREDICATE_NOT_SIGN</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbdad49e0b746316ca0be5408872c30020d1">PREDICATE_NOT_ZERO</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbda06b3bd17f023d86b9725e02620c86372">PREDICATE_OVERFLOW</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbda258c8b6217af698176f5c9404dca93bd">PREDICATE_PARITY</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbda1af450bb6f4d982568b26851b4fc7160">PREDICATE_SIGN</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbda3fbef07e5130ea58b82281b1790b00da">PREDICATE_ZERO</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbdab01725a848b042ffec91e289aba07eed">PREDICATE_CX_NON_ZERO</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbdaf819f6469d1f5df95a3986ada62aafd3">PREDICATE_ECX_NON_ZERO</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbda4600380331061ce93c1230ba8f1e8605">PREDICATE_RCX_NON_ZERO</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaa0f5cf48b3b01ce2e18a76312cf5ebbda49026823fba6b564052314d23c62380b">PREDICATE_SAVED_GCX_NON_ZERO</a>, 
<br />
&#160;&#160;<b>PREDICATE_LAST</b>
<br />
 }</td></tr>
<tr class="separator:gaa0f5cf48b3b01ce2e18a76312cf5ebbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga849849b78d72c1dbc699d8de0862f99f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga849849b78d72c1dbc699d8de0862f99f">MEMORY_TYPE</a> { <br />
&#160;&#160;<b>MEMORY_TYPE_READ</b>, 
<br />
&#160;&#160;<b>MEMORY_TYPE_WRITE</b>, 
<br />
&#160;&#160;<b>MEMORY_TYPE_READ2</b>
<br />
 }</td></tr>
<tr class="separator:ga849849b78d72c1dbc699d8de0862f99f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf903f1f8ddcb9710d191943763e6474a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaf903f1f8ddcb9710d191943763e6474a">SYSCALL_STANDARD</a> { <br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaf903f1f8ddcb9710d191943763e6474aa5db970f2d14d9d57fdce5d01abf23e2f">SYSCALL_STANDARD_INVALID</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaf903f1f8ddcb9710d191943763e6474aa69930e50071ec752f31c32456bff58b2">SYSCALL_STANDARD_IA32_LINUX</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaf903f1f8ddcb9710d191943763e6474aaafc5144a517a838cb36d5b2ccbcd3f29">SYSCALL_STANDARD_IA32_LINUX_SYSENTER</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaf903f1f8ddcb9710d191943763e6474aa05e78d10b4fd27077cf80a367dab1cd9">SYSCALL_STANDARD_IA32E_LINUX</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaf903f1f8ddcb9710d191943763e6474aa35a2680a0748049a4af27ff712f1ab17">SYSCALL_STANDARD_IA32E_LINUX_VSYSCALL</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaf903f1f8ddcb9710d191943763e6474aa4563431ff4eb6c56dbd02a36eabd7ce7">SYSCALL_STANDARD_IA32_MAC</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaf903f1f8ddcb9710d191943763e6474aa355377c83c5f82eccbfec209f8f0039c">SYSCALL_STANDARD_IA32E_MAC</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaf903f1f8ddcb9710d191943763e6474aa5b3664fc9691e21bae092c595167400f">SYSCALL_STANDARD_IA32_WINDOWS_FAST</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaf903f1f8ddcb9710d191943763e6474aaafbea58d993a4a04acedcc193ad40085">SYSCALL_STANDARD_IA32E_WINDOWS_FAST</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaf903f1f8ddcb9710d191943763e6474aa0dddcc9510d9b6baed3073a57e255aee">SYSCALL_STANDARD_IA32_WINDOWS_ALT</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaf903f1f8ddcb9710d191943763e6474aac1f978ca25c3786a3c8b0a6b5eb85d3b">SYSCALL_STANDARD_WOW64</a>, 
<br />
&#160;&#160;<a class="el" href="group__INS__INSPECTION.html#ggaf903f1f8ddcb9710d191943763e6474aae5e8c050bc24d144b3dcd6bbb76aa3d5">SYSCALL_STANDARD_WINDOWS_INT</a>
<br />
 }</td></tr>
<tr class="separator:gaf903f1f8ddcb9710d191943763e6474a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaec452037ed224616326f47e68456cf74"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaec452037ed224616326f47e68456cf74">INS_HasRealRep</a> (INS ins)</td></tr>
<tr class="separator:gaec452037ed224616326f47e68456cf74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae682a5640e4fc234895c16dbc45d3266"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gae682a5640e4fc234895c16dbc45d3266">INS_IsStandardMemop</a> (INS ins)</td></tr>
<tr class="separator:gae682a5640e4fc234895c16dbc45d3266"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd61789fb5b6cc5f6bc5b92f73834529"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gafd61789fb5b6cc5f6bc5b92f73834529">INS_IsCacheLineFlush</a> (INS ins)</td></tr>
<tr class="separator:gafd61789fb5b6cc5f6bc5b92f73834529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d71d53c5043092d5dbc7c96a2c30b5b"><td class="memItemLeft" align="right" valign="top">INT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga3d71d53c5043092d5dbc7c96a2c30b5b">INS_Category</a> (const INS ins)</td></tr>
<tr class="separator:ga3d71d53c5043092d5dbc7c96a2c30b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga263a91b2234b8650b858675450a72085"><td class="memItemLeft" align="right" valign="top">INT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga263a91b2234b8650b858675450a72085">INS_Extension</a> (const INS ins)</td></tr>
<tr class="separator:ga263a91b2234b8650b858675450a72085"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4757e2b80c1f7d07cf2d3b12a71e4c0a"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga4757e2b80c1f7d07cf2d3b12a71e4c0a">INS_EffectiveAddressWidth</a> (INS ins)</td></tr>
<tr class="separator:ga4757e2b80c1f7d07cf2d3b12a71e4c0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad66ba6f0f0822848ddbf287e84f87df8"><td class="memItemLeft" align="right" valign="top">PIN_DEPRECATED_API USIZE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gad66ba6f0f0822848ddbf287e84f87df8">INS_MemoryWriteSize</a> (INS ins)</td></tr>
<tr class="separator:gad66ba6f0f0822848ddbf287e84f87df8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeb34a54f477c20bcd3006e44d0798c0d"><td class="memItemLeft" align="right" valign="top">PIN_DEPRECATED_API USIZE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaeb34a54f477c20bcd3006e44d0798c0d">INS_MemoryReadSize</a> (INS ins)</td></tr>
<tr class="separator:gaeb34a54f477c20bcd3006e44d0798c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc091ecbe538934b9ea83ce7882d1c31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__INS__INSPECTION.html#gaa0f5cf48b3b01ce2e18a76312cf5ebbd">PREDICATE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gabc091ecbe538934b9ea83ce7882d1c31">INS_GetPredicate</a> (INS ins)</td></tr>
<tr class="separator:gabc091ecbe538934b9ea83ce7882d1c31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1170badee8568aebff586fa7d131b37"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gab1170badee8568aebff586fa7d131b37">INS_IsMemoryRead</a> (INS ins)</td></tr>
<tr class="separator:gab1170badee8568aebff586fa7d131b37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88783aed583f78262e7bbcbcaeb5fe09"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga88783aed583f78262e7bbcbcaeb5fe09">INS_IsMemoryWrite</a> (INS ins)</td></tr>
<tr class="separator:ga88783aed583f78262e7bbcbcaeb5fe09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d0d259ec5db15fba1ee77f073ac6e33"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga6d0d259ec5db15fba1ee77f073ac6e33">INS_HasMemoryRead2</a> (INS ins)</td></tr>
<tr class="separator:ga6d0d259ec5db15fba1ee77f073ac6e33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7602edb17e52e209492bab2c65fc1612"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga7602edb17e52e209492bab2c65fc1612">INS_HasFallThrough</a> (INS ins)</td></tr>
<tr class="separator:ga7602edb17e52e209492bab2c65fc1612"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa769aebdca13544d020bf2a8ce12457e"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaa769aebdca13544d020bf2a8ce12457e">INS_IsSysenter</a> (INS ins)</td></tr>
<tr class="separator:gaa769aebdca13544d020bf2a8ce12457e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadc9313292e087d5a37871013bbf4455d"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gadc9313292e087d5a37871013bbf4455d">INS_IsXbegin</a> (INS ins)</td></tr>
<tr class="separator:gadc9313292e087d5a37871013bbf4455d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ea902b08b21cd0b9a25d6b497b71ecc"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga5ea902b08b21cd0b9a25d6b497b71ecc">INS_IsXend</a> (INS ins)</td></tr>
<tr class="separator:ga5ea902b08b21cd0b9a25d6b497b71ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72a8648d1c8afbcb00081cf6767aa5e7"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga72a8648d1c8afbcb00081cf6767aa5e7">INS_IsLea</a> (INS ins)</td></tr>
<tr class="separator:ga72a8648d1c8afbcb00081cf6767aa5e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c2a537d225974e306deac478094e207"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga8c2a537d225974e306deac478094e207">INS_IsNop</a> (INS ins)</td></tr>
<tr class="separator:ga8c2a537d225974e306deac478094e207"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf5f24968bc08823284ca34b5b05e02ac"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaf5f24968bc08823284ca34b5b05e02ac">OPCODE_StringShort</a> (UINT32 opcode)</td></tr>
<tr class="separator:gaf5f24968bc08823284ca34b5b05e02ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafcdc1ff2798f1bd76628c2de1487a284"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gafcdc1ff2798f1bd76628c2de1487a284">INS_Mnemonic</a> (INS ins)</td></tr>
<tr class="separator:gafcdc1ff2798f1bd76628c2de1487a284"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b9e0d9a23e7e7734ba7a7fbc7438e50"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga7b9e0d9a23e7e7734ba7a7fbc7438e50">INS_IsBranch</a> (INS ins)</td></tr>
<tr class="separator:ga7b9e0d9a23e7e7734ba7a7fbc7438e50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1211486a7015b74165c5f49c56e786b7"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga1211486a7015b74165c5f49c56e786b7">INS_IsDirectBranch</a> (INS ins)</td></tr>
<tr class="separator:ga1211486a7015b74165c5f49c56e786b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9585dfe3e965a348cd8f2bec5b33cd8"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaf9585dfe3e965a348cd8f2bec5b33cd8">INS_IsDirectCall</a> (INS ins)</td></tr>
<tr class="separator:gaf9585dfe3e965a348cd8f2bec5b33cd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9645bebf4e0f7b32a7d7985a49a3a3f4"><td class="memItemLeft" align="right" valign="top">PIN_DEPRECATED_API BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga9645bebf4e0f7b32a7d7985a49a3a3f4">INS_IsDirectBranchOrCall</a> (INS ins)</td></tr>
<tr class="separator:ga9645bebf4e0f7b32a7d7985a49a3a3f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac6f6422ce76cfbaad86c7f432f818ab"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaac6f6422ce76cfbaad86c7f432f818ab">INS_IsDirectControlFlow</a> (INS ins)</td></tr>
<tr class="separator:gaac6f6422ce76cfbaad86c7f432f818ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8f770f9a1da3b0a924fb582ab92f4be7"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga8f770f9a1da3b0a924fb582ab92f4be7">INS_IsHalt</a> (INS ins)</td></tr>
<tr class="separator:ga8f770f9a1da3b0a924fb582ab92f4be7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17175054ff9f2ac0a213c4ab7bf023a1"><td class="memItemLeft" align="right" valign="top">PIN_DEPRECATED_API BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga17175054ff9f2ac0a213c4ab7bf023a1">INS_IsBranchOrCall</a> (INS ins)</td></tr>
<tr class="separator:ga17175054ff9f2ac0a213c4ab7bf023a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80ad206699f655a22e9a7cf46592dca5"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga80ad206699f655a22e9a7cf46592dca5">INS_Stutters</a> (INS ins)</td></tr>
<tr class="separator:ga80ad206699f655a22e9a7cf46592dca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54c2afb6ee9de26b18b8581d4d578f0c"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga54c2afb6ee9de26b18b8581d4d578f0c">INS_IsPcMaterialization</a> (INS ins)</td></tr>
<tr class="separator:ga54c2afb6ee9de26b18b8581d4d578f0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc3f11f960e327ff50cd4c0899fa42d6"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gabc3f11f960e327ff50cd4c0899fa42d6">INS_IsCall</a> (INS ins)</td></tr>
<tr class="separator:gabc3f11f960e327ff50cd4c0899fa42d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga308d89e7d9f39b8a0daf908778513457"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga308d89e7d9f39b8a0daf908778513457">INS_IsControlFlow</a> (INS ins)</td></tr>
<tr class="separator:ga308d89e7d9f39b8a0daf908778513457"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f681d101030540ee15712d23e89c5ea"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga3f681d101030540ee15712d23e89c5ea">INS_IsFarCall</a> (INS ins)</td></tr>
<tr class="separator:ga3f681d101030540ee15712d23e89c5ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe125bae2f10dc5a82bafb1cbd99ec03"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gabe125bae2f10dc5a82bafb1cbd99ec03">INS_IsFarJump</a> (INS ins)</td></tr>
<tr class="separator:gabe125bae2f10dc5a82bafb1cbd99ec03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b2917c493864644cd85597e4d85e79a"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga8b2917c493864644cd85597e4d85e79a">INS_IsDirectFarJump</a> (INS ins)</td></tr>
<tr class="separator:ga8b2917c493864644cd85597e4d85e79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef208009ec86a213f7574b65fe2603c0"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaef208009ec86a213f7574b65fe2603c0">INS_IsValidForIpointAfter</a> (INS ins)</td></tr>
<tr class="separator:gaef208009ec86a213f7574b65fe2603c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab13f78210172b7647bf5979b4e7f764f"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gab13f78210172b7647bf5979b4e7f764f">INS_IsValidForIpointTakenBranch</a> (INS ins)</td></tr>
<tr class="separator:gab13f78210172b7647bf5979b4e7f764f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98f086d31ad53876afa5d3e98b0d0b52"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga98f086d31ad53876afa5d3e98b0d0b52">INS_IsVgather</a> (INS ins)</td></tr>
<tr class="separator:ga98f086d31ad53876afa5d3e98b0d0b52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa361d3578e67bf041170c9580a4912ae"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaa361d3578e67bf041170c9580a4912ae">INS_IsVscatter</a> (INS ins)</td></tr>
<tr class="separator:gaa361d3578e67bf041170c9580a4912ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac7bf03b0bd4f696a57f6beed7815896"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaac7bf03b0bd4f696a57f6beed7815896">INS_HasMemoryVector</a> (INS ins)</td></tr>
<tr class="separator:gaac7bf03b0bd4f696a57f6beed7815896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1ade5b21d590fd2a53b6e98a835c553"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gad1ade5b21d590fd2a53b6e98a835c553">INS_HasScatteredMemoryAccess</a> (INS ins)</td></tr>
<tr class="separator:gad1ade5b21d590fd2a53b6e98a835c553"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5503a690bc11074480b303c2ba5d04a"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gac5503a690bc11074480b303c2ba5d04a">INS_IsAmx</a> (INS ins)</td></tr>
<tr class="separator:gac5503a690bc11074480b303c2ba5d04a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8f09aca94ec4149d51312f28bb15bb4"><td class="memItemLeft" align="right" valign="top">VOID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gad8f09aca94ec4149d51312f28bb15bb4">INS_GetFarPointer</a> (INS ins, UINT16 &amp;segment_selector, UINT32 &amp;displacement)</td></tr>
<tr class="separator:gad8f09aca94ec4149d51312f28bb15bb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06ee153ecc802fb954da9a9afe39d868"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga06ee153ecc802fb954da9a9afe39d868">INS_IsProcedureCall</a> (INS ins)</td></tr>
<tr class="separator:ga06ee153ecc802fb954da9a9afe39d868"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa13314e8a43b158f580047ead78b72cd"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaa13314e8a43b158f580047ead78b72cd">INS_IsInterrupt</a> (INS ins)</td></tr>
<tr class="separator:gaa13314e8a43b158f580047ead78b72cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1bf4fca7d6060e4d6f2b12a3b5d06a4"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gae1bf4fca7d6060e4d6f2b12a3b5d06a4">INS_IsRet</a> (INS ins)</td></tr>
<tr class="separator:gae1bf4fca7d6060e4d6f2b12a3b5d06a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeafeb11038db885475c9acd01d28fe85"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaeafeb11038db885475c9acd01d28fe85">INS_IsSysret</a> (INS ins)</td></tr>
<tr class="separator:gaeafeb11038db885475c9acd01d28fe85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga096d2054bf6155352c96ffdb685a93d3"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga096d2054bf6155352c96ffdb685a93d3">INS_IsFarRet</a> (INS ins)</td></tr>
<tr class="separator:ga096d2054bf6155352c96ffdb685a93d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8f601e4e60712eb4bf2df0ee58c8afd0"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga8f601e4e60712eb4bf2df0ee58c8afd0">INS_IsPrefetch</a> (INS ins)</td></tr>
<tr class="separator:ga8f601e4e60712eb4bf2df0ee58c8afd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2a95e056295b1da4cdb9964aa591112"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gac2a95e056295b1da4cdb9964aa591112">INS_IsSub</a> (const INS ins)</td></tr>
<tr class="separator:gac2a95e056295b1da4cdb9964aa591112"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab6f52ff1102a22d51990f0122c108759"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gab6f52ff1102a22d51990f0122c108759">INS_IsMov</a> (const INS ins)</td></tr>
<tr class="separator:gab6f52ff1102a22d51990f0122c108759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15e022f900d0831f350aa65928e27ea1"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga15e022f900d0831f350aa65928e27ea1">INS_IsMovFullRegRegSame</a> (const INS ins)</td></tr>
<tr class="separator:ga15e022f900d0831f350aa65928e27ea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa517ca64b89debd7e4e1f39132edd0af"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaa517ca64b89debd7e4e1f39132edd0af">INS_IsAtomicUpdate</a> (const INS ins)</td></tr>
<tr class="separator:gaa517ca64b89debd7e4e1f39132edd0af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga527fcdaa01b21e9def864cc83d4648ac"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga527fcdaa01b21e9def864cc83d4648ac">INS_IsRDTSC</a> (const INS ins)</td></tr>
<tr class="separator:ga527fcdaa01b21e9def864cc83d4648ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5aca7e74c0603e20a742f0980b7cda3"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gac5aca7e74c0603e20a742f0980b7cda3">INS_IsMaskMov</a> (const INS ins)</td></tr>
<tr class="separator:gac5aca7e74c0603e20a742f0980b7cda3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32d37a0dcd2f199ed5165f5ff90edf25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga32d37a0dcd2f199ed5165f5ff90edf25">INS_RepCountRegister</a> (INS ins)</td></tr>
<tr class="separator:ga32d37a0dcd2f199ed5165f5ff90edf25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad02da07511bf7980f121828324c93a52"><td class="memItemLeft" align="right" valign="top">PIN_DEPRECATED_API BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gad02da07511bf7980f121828324c93a52">INS_IsIndirectBranchOrCall</a> (INS ins)</td></tr>
<tr class="separator:gad02da07511bf7980f121828324c93a52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13dea1531859ee5759d376a9e5617918"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga13dea1531859ee5759d376a9e5617918">INS_IsIndirectControlFlow</a> (INS ins)</td></tr>
<tr class="separator:ga13dea1531859ee5759d376a9e5617918"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae044036c57a49ff5c29d6994445bade8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gae044036c57a49ff5c29d6994445bade8">INS_SegmentRegPrefix</a> (INS ins)</td></tr>
<tr class="separator:gae044036c57a49ff5c29d6994445bade8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa682a21a59a07397feac5a7107b7c7e7"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaa682a21a59a07397feac5a7107b7c7e7">INS_HasExplicitMemoryReference</a> (INS ins)</td></tr>
<tr class="separator:gaa682a21a59a07397feac5a7107b7c7e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf25e644f3d8ee4907ea96e60b759b828"><td class="memItemLeft" align="right" valign="top">VOID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaf25e644f3d8ee4907ea96e60b759b828">PIN_SetSyntaxIntel</a> ()</td></tr>
<tr class="separator:gaf25e644f3d8ee4907ea96e60b759b828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb29bf88df0b86e5bed6f7f1c6d4219d"><td class="memItemLeft" align="right" valign="top">VOID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gacb29bf88df0b86e5bed6f7f1c6d4219d">PIN_SetSyntaxATT</a> ()</td></tr>
<tr class="separator:gacb29bf88df0b86e5bed6f7f1c6d4219d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga568a93b99e9e70be947fb428cc0c6f9f"><td class="memItemLeft" align="right" valign="top">VOID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga568a93b99e9e70be947fb428cc0c6f9f">PIN_SetSyntaxXED</a> ()</td></tr>
<tr class="separator:ga568a93b99e9e70be947fb428cc0c6f9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga484023161d148e5b68a0efb19346421d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga484023161d148e5b68a0efb19346421d">INS_RegR</a> (INS x, UINT32 k)</td></tr>
<tr class="separator:ga484023161d148e5b68a0efb19346421d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd975d0a7a75984d4f32349ef0ed7747"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gacd975d0a7a75984d4f32349ef0ed7747">INS_RegW</a> (INS x, UINT32 k)</td></tr>
<tr class="separator:gacd975d0a7a75984d4f32349ef0ed7747"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga016c475100a4665f5f8e8dfdbf518da5"><td class="memItemLeft" align="right" valign="top">OPCODE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga016c475100a4665f5f8e8dfdbf518da5">INS_Opcode</a> (INS ins)</td></tr>
<tr class="separator:ga016c475100a4665f5f8e8dfdbf518da5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9aff372b50f9c5710ee2127d5f2cc90c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga9aff372b50f9c5710ee2127d5f2cc90c">CATEGORY_StringShort</a> (UINT32 num)</td></tr>
<tr class="separator:ga9aff372b50f9c5710ee2127d5f2cc90c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa4bb9e749f4a4c80215f29c116a7e279"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaa4bb9e749f4a4c80215f29c116a7e279">EXTENSION_StringShort</a> (UINT32 num)</td></tr>
<tr class="separator:gaa4bb9e749f4a4c80215f29c116a7e279"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa06399e42f72b6906c94df623a23fa0f"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaa06399e42f72b6906c94df623a23fa0f">INS_SegPrefixIsMemoryRead</a> (INS ins)</td></tr>
<tr class="separator:gaa06399e42f72b6906c94df623a23fa0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga700b74c8ab57f909f1e2c2d1094fc6b5"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga700b74c8ab57f909f1e2c2d1094fc6b5">INS_SegPrefixIsMemoryWrite</a> (INS ins)</td></tr>
<tr class="separator:ga700b74c8ab57f909f1e2c2d1094fc6b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08c8427ca46f8776050a64ce28544725"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga08c8427ca46f8776050a64ce28544725">INS_AddressSizePrefix</a> (INS ins)</td></tr>
<tr class="separator:ga08c8427ca46f8776050a64ce28544725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a95871422336f9f56751ae8f9d502f6"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga6a95871422336f9f56751ae8f9d502f6">INS_BranchNotTakenPrefix</a> (INS ins)</td></tr>
<tr class="separator:ga6a95871422336f9f56751ae8f9d502f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e4e0575a9639c8ca07e447038c00cbe"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga2e4e0575a9639c8ca07e447038c00cbe">INS_BranchTakenPrefix</a> (INS ins)</td></tr>
<tr class="separator:ga2e4e0575a9639c8ca07e447038c00cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedec63f23d754647667cd714c8001af3"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaedec63f23d754647667cd714c8001af3">INS_LockPrefix</a> (INS ins)</td></tr>
<tr class="separator:gaedec63f23d754647667cd714c8001af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e4cbbd8fe8eb79b6629f8150a16571a"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga0e4cbbd8fe8eb79b6629f8150a16571a">INS_OperandSizePrefix</a> (INS ins)</td></tr>
<tr class="separator:ga0e4cbbd8fe8eb79b6629f8150a16571a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd76a6f0a537b66f5fb08d871561c180"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gacd76a6f0a537b66f5fb08d871561c180">INS_RepPrefix</a> (INS ins)</td></tr>
<tr class="separator:gacd76a6f0a537b66f5fb08d871561c180"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3b2ca2ecd0f47029a3dbd5767e698f7"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gad3b2ca2ecd0f47029a3dbd5767e698f7">INS_RepnePrefix</a> (INS ins)</td></tr>
<tr class="separator:gad3b2ca2ecd0f47029a3dbd5767e698f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c255e9311ec629c0fd4f0aa53e2a166"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga0c255e9311ec629c0fd4f0aa53e2a166">INS_SegmentPrefix</a> (INS ins)</td></tr>
<tr class="separator:ga0c255e9311ec629c0fd4f0aa53e2a166"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6da2eb08991e003c2bf7344100278ffd"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga6da2eb08991e003c2bf7344100278ffd">INS_IsXchg</a> (INS ins)</td></tr>
<tr class="separator:ga6da2eb08991e003c2bf7344100278ffd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d5c26ac8a093cb3ea326ce1f91e21c5"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga5d5c26ac8a093cb3ea326ce1f91e21c5">INS_IsStringop</a> (INS ins)</td></tr>
<tr class="separator:ga5d5c26ac8a093cb3ea326ce1f91e21c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4ca6657c4f2a1dd2aec83c7bea228f3d"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga4ca6657c4f2a1dd2aec83c7bea228f3d">INS_IsIRet</a> (INS ins)</td></tr>
<tr class="separator:ga4ca6657c4f2a1dd2aec83c7bea228f3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaca49479dff7386abb7da962d45aa716b"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaca49479dff7386abb7da962d45aa716b">INS_MaxNumRRegs</a> (INS x)</td></tr>
<tr class="separator:gaca49479dff7386abb7da962d45aa716b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82aeda45eb9634fceb3e12e70839de34"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga82aeda45eb9634fceb3e12e70839de34">INS_MaxNumWRegs</a> (INS x)</td></tr>
<tr class="separator:ga82aeda45eb9634fceb3e12e70839de34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21c9b5ea337536bc28a6d1cfb985c639"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga21c9b5ea337536bc28a6d1cfb985c639">INS_RegRContain</a> (const INS ins, const <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> reg)</td></tr>
<tr class="separator:ga21c9b5ea337536bc28a6d1cfb985c639"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab319902e019d907d773a1c6799d4ea32"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gab319902e019d907d773a1c6799d4ea32">INS_RegWContain</a> (const INS ins, const <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> reg)</td></tr>
<tr class="separator:gab319902e019d907d773a1c6799d4ea32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae788ba063300f59ab21fc67c4129250"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaae788ba063300f59ab21fc67c4129250">INS_FullRegRContain</a> (const INS ins, const <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> reg)</td></tr>
<tr class="separator:gaae788ba063300f59ab21fc67c4129250"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ba87ee35e6c55f0a18bc57a4a2f2765"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga3ba87ee35e6c55f0a18bc57a4a2f2765">INS_FullRegWContain</a> (const INS ins, const <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> reg)</td></tr>
<tr class="separator:ga3ba87ee35e6c55f0a18bc57a4a2f2765"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4bcc02676e0ae2a108e24ae1e4b6ecf"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gab4bcc02676e0ae2a108e24ae1e4b6ecf">INS_IsStackRead</a> (const INS ins)</td></tr>
<tr class="separator:gab4bcc02676e0ae2a108e24ae1e4b6ecf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a3cbd97d1e9feec3459c8630a401cb7"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga5a3cbd97d1e9feec3459c8630a401cb7">INS_IsStackWrite</a> (const INS ins)</td></tr>
<tr class="separator:ga5a3cbd97d1e9feec3459c8630a401cb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52fb144aef5a1962cd6050b0dd9e872b"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga52fb144aef5a1962cd6050b0dd9e872b">INS_IsIpRelRead</a> (const INS ins)</td></tr>
<tr class="separator:ga52fb144aef5a1962cd6050b0dd9e872b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e46a2329a9ec52511fc3c0e6f97e354"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga2e46a2329a9ec52511fc3c0e6f97e354">INS_IsIpRelWrite</a> (const INS ins)</td></tr>
<tr class="separator:ga2e46a2329a9ec52511fc3c0e6f97e354"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1cfa7fb07799f93822756da2359d0f98"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga1cfa7fb07799f93822756da2359d0f98">INS_IsPredicated</a> (INS ins)</td></tr>
<tr class="separator:ga1cfa7fb07799f93822756da2359d0f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7cf9a2c0cd1041fcb8d672bf2fe89859"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga7cf9a2c0cd1041fcb8d672bf2fe89859">INS_IsOriginal</a> (INS ins)</td></tr>
<tr class="separator:ga7cf9a2c0cd1041fcb8d672bf2fe89859"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7158e5bde981e182f3163f1cad673caf"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga7158e5bde981e182f3163f1cad673caf">INS_Disassemble</a> (INS ins)</td></tr>
<tr class="separator:ga7158e5bde981e182f3163f1cad673caf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad63a5e54b1ba36a4450b484e6a151117"><td class="memItemLeft" align="right" valign="top">ADDRDELTA&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gad63a5e54b1ba36a4450b484e6a151117">INS_MemoryDisplacement</a> (INS ins)</td></tr>
<tr class="separator:gad63a5e54b1ba36a4450b484e6a151117"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28ea7c27eff42264de45ee427531fc1c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga28ea7c27eff42264de45ee427531fc1c">INS_MemoryBaseReg</a> (INS ins)</td></tr>
<tr class="separator:ga28ea7c27eff42264de45ee427531fc1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b04a25a5e366081e919a661474e6f5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga5b04a25a5e366081e919a661474e6f5f">INS_MemoryIndexReg</a> (INS ins)</td></tr>
<tr class="separator:ga5b04a25a5e366081e919a661474e6f5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bc15536ae05615d31335e4dacd76130"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga9bc15536ae05615d31335e4dacd76130">INS_MemoryScale</a> (INS ins)</td></tr>
<tr class="separator:ga9bc15536ae05615d31335e4dacd76130"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga835a4c186436ac7a9c252da16b2a8bc2"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga835a4c186436ac7a9c252da16b2a8bc2">INS_ChangeReg</a> (const INS ins, const <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> old_reg, const <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> new_reg, const BOOL as_read)</td></tr>
<tr class="separator:ga835a4c186436ac7a9c252da16b2a8bc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga14e917d264aacc2b8e7e95963f768ccc"><td class="memItemLeft" align="right" valign="top">xed_decoded_inst_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga14e917d264aacc2b8e7e95963f768ccc">INS_XedDec</a> (INS ins)</td></tr>
<tr class="separator:ga14e917d264aacc2b8e7e95963f768ccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ec5f46a0bd404ae2d9e04823f79072c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga1ec5f46a0bd404ae2d9e04823f79072c">INS_XedExactMapToPinReg</a> (xed_reg_enum_t xed_reg)</td></tr>
<tr class="separator:ga1ec5f46a0bd404ae2d9e04823f79072c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37648c4d7d964df9973969c497f7eb90"><td class="memItemLeft" align="right" valign="top">PIN_DEPRECATED_API <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga37648c4d7d964df9973969c497f7eb90">INS_XedExactMapToPinReg</a> (unsigned int r)</td></tr>
<tr class="separator:ga37648c4d7d964df9973969c497f7eb90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeddde4b64a0009640facf6482bed4850"><td class="memItemLeft" align="right" valign="top">xed_reg_enum_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaeddde4b64a0009640facf6482bed4850">INS_XedExactMapFromPinReg</a> (<a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> pin_reg)</td></tr>
<tr class="separator:gaeddde4b64a0009640facf6482bed4850"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68a9e9a74a8028c7563375be7c230f3a"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga68a9e9a74a8028c7563375be7c230f3a">INS_OperandCount</a> (INS ins)</td></tr>
<tr class="separator:ga68a9e9a74a8028c7563375be7c230f3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3390b29d8191050119050c038f9dce8a"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga3390b29d8191050119050c038f9dce8a">INS_OperandElementCount</a> (INS ins, UINT32 opIdx)</td></tr>
<tr class="separator:ga3390b29d8191050119050c038f9dce8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75ca91e0ea573688572123db944fcda3"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga75ca91e0ea573688572123db944fcda3">INS_OperandHasElements</a> (INS ins, UINT32 opIdx)</td></tr>
<tr class="separator:ga75ca91e0ea573688572123db944fcda3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1150b9fcd86aaf0807683412b909f22a"><td class="memItemLeft" align="right" valign="top">USIZE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga1150b9fcd86aaf0807683412b909f22a">INS_OperandElementSize</a> (INS ins, UINT32 opIdx)</td></tr>
<tr class="separator:ga1150b9fcd86aaf0807683412b909f22a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga210efa4d05fce960cf32656d10df6baf"><td class="memItemLeft" align="right" valign="top"><a id="ga210efa4d05fce960cf32656d10df6baf"></a>
UINT32&#160;</td><td class="memItemRight" valign="bottom"><b>INS_OperandNameId</b> (INS ins, UINT32 n)</td></tr>
<tr class="separator:ga210efa4d05fce960cf32656d10df6baf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga742593b20994f62aaaa841794b97dba4"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga742593b20994f62aaaa841794b97dba4">INS_OperandIsMemory</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:ga742593b20994f62aaaa841794b97dba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae726545c04460e7696bb284df320f4f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gae726545c04460e7696bb284df320f4f2">INS_OperandMemoryBaseReg</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:gae726545c04460e7696bb284df320f4f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa9a52ca96e3cc0bc5150fa9e7f87c0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaaa9a52ca96e3cc0bc5150fa9e7f87c0e">INS_OperandMemoryIndexReg</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:gaaa9a52ca96e3cc0bc5150fa9e7f87c0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab55682e63100b3ebc5326237ad83c171"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gab55682e63100b3ebc5326237ad83c171">INS_OperandMemorySegmentReg</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:gab55682e63100b3ebc5326237ad83c171"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a20d2d4be126df6469a5161f97eca6c"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga8a20d2d4be126df6469a5161f97eca6c">INS_OperandMemoryScale</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:ga8a20d2d4be126df6469a5161f97eca6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab15523f2c2dc93599a8f59dd61057973"><td class="memItemLeft" align="right" valign="top">ADDRDELTA&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gab15523f2c2dc93599a8f59dd61057973">INS_OperandMemoryDisplacement</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:gab15523f2c2dc93599a8f59dd61057973"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c5fa1253299975b9038e2f839f137b6"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga1c5fa1253299975b9038e2f839f137b6">INS_OperandIsFixedMemop</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:ga1c5fa1253299975b9038e2f839f137b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab02e5d35eda9ffcb9a208120d932b4de"><td class="memItemLeft" align="right" valign="top"><a id="gab02e5d35eda9ffcb9a208120d932b4de"></a>
VOID&#160;</td><td class="memItemRight" valign="bottom"><b>GetNumberAndSizeOfMemAccesses</b> (INS ins, int *numAccesses, int *accessSize, int *indexSize)</td></tr>
<tr class="separator:gab02e5d35eda9ffcb9a208120d932b4de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa01f153aa19aeb478458cf2042d05a01"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaa01f153aa19aeb478458cf2042d05a01">INS_MemoryOperandCount</a> (INS ins)</td></tr>
<tr class="separator:gaa01f153aa19aeb478458cf2042d05a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga48e9034dc81f2a2e5f1a61ec4c68b497"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga48e9034dc81f2a2e5f1a61ec4c68b497">INS_MemoryOperandElementCount</a> (INS ins, UINT32 memoryOp)</td></tr>
<tr class="separator:ga48e9034dc81f2a2e5f1a61ec4c68b497"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa905931fcdcac481c789192e0bd30014"><td class="memItemLeft" align="right" valign="top">USIZE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaa905931fcdcac481c789192e0bd30014">INS_MemoryOperandSize</a> (INS ins, UINT32 memoryOp)</td></tr>
<tr class="separator:gaa905931fcdcac481c789192e0bd30014"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafa78b79577f4cdf4ca898b13e324d4f8"><td class="memItemLeft" align="right" valign="top">USIZE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gafa78b79577f4cdf4ca898b13e324d4f8">INS_MemoryOperandElementSize</a> (INS ins, UINT32 memoryOp)</td></tr>
<tr class="separator:gafa78b79577f4cdf4ca898b13e324d4f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac610cf9dbd53deeba31c2277006d70fd"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gac610cf9dbd53deeba31c2277006d70fd">INS_OperandIsAddressGenerator</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:gac610cf9dbd53deeba31c2277006d70fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2869fa6158976e73fa91fb5a19ad054"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gab2869fa6158976e73fa91fb5a19ad054">INS_OperandIsBranchDisplacement</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:gab2869fa6158976e73fa91fb5a19ad054"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2db1205b7749b176d9145d911bad461c"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga2db1205b7749b176d9145d911bad461c">INS_MemoryOperandIsRead</a> (INS ins, UINT32 memopIdx)</td></tr>
<tr class="separator:ga2db1205b7749b176d9145d911bad461c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab66a50260dde64035e46a831f5d4b1dc"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gab66a50260dde64035e46a831f5d4b1dc">INS_MemoryOperandIsWritten</a> (INS ins, UINT32 memopIdx)</td></tr>
<tr class="separator:gab66a50260dde64035e46a831f5d4b1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67a5b6c52c0cae6256557d4bc8729ab8"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga67a5b6c52c0cae6256557d4bc8729ab8">INS_MemoryOperandIndexToOperandIndex</a> (INS ins, UINT32 memopIdx)</td></tr>
<tr class="separator:ga67a5b6c52c0cae6256557d4bc8729ab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae860ce689d370e278440310b882d0440"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gae860ce689d370e278440310b882d0440">INS_OperandIsReg</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:gae860ce689d370e278440310b882d0440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1084ae5fd648934ffe2b4b12b1df935"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaf1084ae5fd648934ffe2b4b12b1df935">INS_OperandIsSegmentReg</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:gaf1084ae5fd648934ffe2b4b12b1df935"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b3136c05e383bea3f91a5204b87a570"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga4b3136c05e383bea3f91a5204b87a570">INS_OperandReg</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:ga4b3136c05e383bea3f91a5204b87a570"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga43b03561626b62fd27a0e699692fde04"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga43b03561626b62fd27a0e699692fde04">INS_OperandIsImmediate</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:ga43b03561626b62fd27a0e699692fde04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab53dc2b4142ff9f104cf4a9c4d952845"><td class="memItemLeft" align="right" valign="top">UINT64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gab53dc2b4142ff9f104cf4a9c4d952845">INS_OperandImmediate</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:gab53dc2b4142ff9f104cf4a9c4d952845"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab022da45d7331aae8b2642a9e8ddbe4c"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gab022da45d7331aae8b2642a9e8ddbe4c">INS_OperandIsImplicit</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:gab022da45d7331aae8b2642a9e8ddbe4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga990a23fc02e9bd79b95a3e9360a1bf87"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga990a23fc02e9bd79b95a3e9360a1bf87">INS_RegIsImplicit</a> (INS ins, <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> reg)</td></tr>
<tr class="separator:ga990a23fc02e9bd79b95a3e9360a1bf87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fc45dd076d7de4fb42ee273d0fb2ae8"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga4fc45dd076d7de4fb42ee273d0fb2ae8">INS_OperandWidth</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:ga4fc45dd076d7de4fb42ee273d0fb2ae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf95b32d966c70948bc2bd73226909869"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaf95b32d966c70948bc2bd73226909869">INS_OperandSize</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:gaf95b32d966c70948bc2bd73226909869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9233f304c34ac2a24c39345eb31e7b15"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga9233f304c34ac2a24c39345eb31e7b15">INS_OperandRead</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:ga9233f304c34ac2a24c39345eb31e7b15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f878705486eb595557cf1af0f7be562"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga5f878705486eb595557cf1af0f7be562">INS_OperandWritten</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:ga5f878705486eb595557cf1af0f7be562"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga717be313a730cb54502d0e01a5529eea"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga717be313a730cb54502d0e01a5529eea">INS_OperandReadOnly</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:ga717be313a730cb54502d0e01a5529eea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98490395bafb6b8798494a36cd064f09"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga98490395bafb6b8798494a36cd064f09">INS_OperandWrittenOnly</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:ga98490395bafb6b8798494a36cd064f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3de89936066fff8ed6ade7aa8cdb8822"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga3de89936066fff8ed6ade7aa8cdb8822">INS_OperandReadAndWritten</a> (INS ins, UINT32 n)</td></tr>
<tr class="separator:ga3de89936066fff8ed6ade7aa8cdb8822"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09a517bd84de8e70d6bfbce932eeffbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga09a517bd84de8e70d6bfbce932eeffbd">INS_MaskRegister</a> (INS ins)</td></tr>
<tr class="separator:ga09a517bd84de8e70d6bfbce932eeffbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25e16efec6fbac076c3997797b320344"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga25e16efec6fbac076c3997797b320344">INS_IsSyscall</a> (INS ins)</td></tr>
<tr class="separator:ga25e16efec6fbac076c3997797b320344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1c865a7582fea271d50c67710349d06"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__INS__INSPECTION.html#gaf903f1f8ddcb9710d191943763e6474a">SYSCALL_STANDARD</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaa1c865a7582fea271d50c67710349d06">INS_SyscallStd</a> (INS ins)</td></tr>
<tr class="separator:gaa1c865a7582fea271d50c67710349d06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab0ca5b8bfb42ab0f3cef7f17d4153da"><td class="memItemLeft" align="right" valign="top">RTN&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaab0ca5b8bfb42ab0f3cef7f17d4153da">INS_Rtn</a> (INS x)</td></tr>
<tr class="separator:gaab0ca5b8bfb42ab0f3cef7f17d4153da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41b5451478a4122627b6cd2eeda1a16c"><td class="memItemLeft" align="right" valign="top">INS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga41b5451478a4122627b6cd2eeda1a16c">INS_Next</a> (INS x)</td></tr>
<tr class="separator:ga41b5451478a4122627b6cd2eeda1a16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8215f6ed3d87e4ba3b6c7f570a32459a"><td class="memItemLeft" align="right" valign="top">INS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga8215f6ed3d87e4ba3b6c7f570a32459a">INS_Prev</a> (INS x)</td></tr>
<tr class="separator:ga8215f6ed3d87e4ba3b6c7f570a32459a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95ed2863ea5b8db8aaf5b06547beeba1"><td class="memItemLeft" align="right" valign="top">INS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga95ed2863ea5b8db8aaf5b06547beeba1">INS_Invalid</a> ()</td></tr>
<tr class="separator:ga95ed2863ea5b8db8aaf5b06547beeba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09f3096b5ea86d2896bb6eef02890958"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga09f3096b5ea86d2896bb6eef02890958">INS_Valid</a> (INS x)</td></tr>
<tr class="separator:ga09f3096b5ea86d2896bb6eef02890958"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab16f7dbf05bc9f916da996e8e6bd7bf8"><td class="memItemLeft" align="right" valign="top">ADDRINT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gab16f7dbf05bc9f916da996e8e6bd7bf8">INS_Address</a> (INS ins)</td></tr>
<tr class="separator:gab16f7dbf05bc9f916da996e8e6bd7bf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9658738a9670bafe1f7060ed131c2062"><td class="memItemLeft" align="right" valign="top">USIZE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga9658738a9670bafe1f7060ed131c2062">INS_Size</a> (INS ins)</td></tr>
<tr class="separator:ga9658738a9670bafe1f7060ed131c2062"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2270a4a2dde88f77acbfdf065caada7c"><td class="memItemLeft" align="right" valign="top">PIN_DEPRECATED_API ADDRINT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga2270a4a2dde88f77acbfdf065caada7c">INS_DirectBranchOrCallTargetAddress</a> (INS ins)</td></tr>
<tr class="separator:ga2270a4a2dde88f77acbfdf065caada7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga201b13c2d99e665a9758950d83c28bef"><td class="memItemLeft" align="right" valign="top">ADDRINT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga201b13c2d99e665a9758950d83c28bef">INS_DirectControlFlowTargetAddress</a> (INS ins)</td></tr>
<tr class="separator:ga201b13c2d99e665a9758950d83c28bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13f921362eb07927951010f074677bcc"><td class="memItemLeft" align="right" valign="top">ADDRINT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga13f921362eb07927951010f074677bcc">INS_NextAddress</a> (INS ins)</td></tr>
<tr class="separator:ga13f921362eb07927951010f074677bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa31c7176d19d938c7f399ecc5bdc21b9"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gaa31c7176d19d938c7f399ecc5bdc21b9">INS_IsAddedForFunctionReplacement</a> (INS ins)</td></tr>
<tr class="separator:gaa31c7176d19d938c7f399ecc5bdc21b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd61a39496ab833613206747e16d3fa7"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#gacd61a39496ab833613206747e16d3fa7">INS_IsValidForIarg</a> (INS ins, <a class="el" href="group__INST__ARGS.html#ga089c27ca15e9ff139dd3a3f8a6f8451d">IARG_TYPE</a> argType)</td></tr>
<tr class="separator:gacd61a39496ab833613206747e16d3fa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga5da3b48943c5402e8abfe5876525529c"><td class="memItemLeft" align="right" valign="top">const UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INS__INSPECTION.html#ga5da3b48943c5402e8abfe5876525529c">VSYSCALL_NR</a> = 0xABCDDCBA</td></tr>
<tr class="separator:ga5da3b48943c5402e8abfe5876525529c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Functions to examine IA-32 and Intel(R) 64 instructions.</p>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
 <b>O/S</b>: Linux &amp; Windows<br  />
 <b>CPU:</b> IA-32 and Intel(R) 64 architectures<br  />
</dd></dl>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga849849b78d72c1dbc699d8de0862f99f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga849849b78d72c1dbc699d8de0862f99f">&#9670;&nbsp;</a></span>MEMORY_TYPE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__INS__INSPECTION.html#ga849849b78d72c1dbc699d8de0862f99f">MEMORY_TYPE</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Memory type of argument </p>

</div>
</div>
<a id="gaa0f5cf48b3b01ce2e18a76312cf5ebbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa0f5cf48b3b01ce2e18a76312cf5ebbd">&#9670;&nbsp;</a></span>PREDICATE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__INS__INSPECTION.html#gaa0f5cf48b3b01ce2e18a76312cf5ebbd">PREDICATE</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Predicate abstraction for IA-32 and Intel(R) 64 instructions. </p>
<p>This file contains basic abstractions for IA32 </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbda7e1481ea9f8640824c67debe5da81253"></a>PREDICATE_ALWAYS_TRUE&#160;</td><td class="fielddoc"><p>Default predication on IA-32 and Intel(R) 64 architectures. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbdae481604bc682f660cd96d45c95fbf541"></a>PREDICATE_BELOW&#160;</td><td class="fielddoc"><p>Below (CF==1) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbda1cd755066bf408356fb8fc32d61e8028"></a>PREDICATE_BELOW_OR_EQUAL&#160;</td><td class="fielddoc"><p>Below or Equal (CF==1 or ZF==1) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbda2b6e7cdf781ec2170815815dff531edd"></a>PREDICATE_LESS&#160;</td><td class="fielddoc"><p>Less (SF!=OF) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbdaf90b5f1b923d7cd99479059e4ef44add"></a>PREDICATE_LESS_OR_EQUAL&#160;</td><td class="fielddoc"><p>Less or Equal (ZF==1 or SF!=OF) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbdacbcad233874b6109daa00b55d85171fa"></a>PREDICATE_NOT_BELOW&#160;</td><td class="fielddoc"><p>Not Below (CF==0) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbda23b2d827875950b7040425fb0a305715"></a>PREDICATE_NOT_BELOW_OR_EQUAL&#160;</td><td class="fielddoc"><p>Above (CF==0 and ZF==0) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbdacb6e8e25dc96a0f93d59c23d8b5ac1dc"></a>PREDICATE_NOT_LESS&#160;</td><td class="fielddoc"><p>Greater or Equal (SF==OF) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbda752dda94b045552647b706d6a96b1eb1"></a>PREDICATE_NOT_LESS_OR_EQUAL&#160;</td><td class="fielddoc"><p>Greater (ZF==0 and SF==OF) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbdada1eedda919626c9b51b268619a329f2"></a>PREDICATE_NOT_OVERFLOW&#160;</td><td class="fielddoc"><p>Not Overflow (OF==0) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbdac0a8c6561a8983e0e2178c009330e2a2"></a>PREDICATE_NOT_PARITY&#160;</td><td class="fielddoc"><p>Not Parity (PF==0) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbda706783e8f9e34d7083d7aa84c0dbfccf"></a>PREDICATE_NOT_SIGN&#160;</td><td class="fielddoc"><p>Not Sign (SF==0) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbdad49e0b746316ca0be5408872c30020d1"></a>PREDICATE_NOT_ZERO&#160;</td><td class="fielddoc"><p>Not Zero (ZF==0) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbda06b3bd17f023d86b9725e02620c86372"></a>PREDICATE_OVERFLOW&#160;</td><td class="fielddoc"><p>Overflow (OF==1) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbda258c8b6217af698176f5c9404dca93bd"></a>PREDICATE_PARITY&#160;</td><td class="fielddoc"><p>Parity (PF==1) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbda1af450bb6f4d982568b26851b4fc7160"></a>PREDICATE_SIGN&#160;</td><td class="fielddoc"><p>Sign (SF==1) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbda3fbef07e5130ea58b82281b1790b00da"></a>PREDICATE_ZERO&#160;</td><td class="fielddoc"><p>Zero (ZF==1) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbdab01725a848b042ffec91e289aba07eed"></a>PREDICATE_CX_NON_ZERO&#160;</td><td class="fielddoc"><p>CX != 0. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbdaf819f6469d1f5df95a3986ada62aafd3"></a>PREDICATE_ECX_NON_ZERO&#160;</td><td class="fielddoc"><p>ECX != 0. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbda4600380331061ce93c1230ba8f1e8605"></a>PREDICATE_RCX_NON_ZERO&#160;</td><td class="fielddoc"><p>RCX != 0. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa0f5cf48b3b01ce2e18a76312cf5ebbda49026823fba6b564052314d23c62380b"></a>PREDICATE_SAVED_GCX_NON_ZERO&#160;</td><td class="fielddoc"><p>(Internal) Use the saved value of one of the previous three tests </p>
</td></tr>
</table>

</div>
</div>
<a id="gaf903f1f8ddcb9710d191943763e6474a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf903f1f8ddcb9710d191943763e6474a">&#9670;&nbsp;</a></span>SYSCALL_STANDARD</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__INS__INSPECTION.html#gaf903f1f8ddcb9710d191943763e6474a">SYSCALL_STANDARD</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Calling standard of the system call instruction. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaf903f1f8ddcb9710d191943763e6474aa5db970f2d14d9d57fdce5d01abf23e2f"></a>SYSCALL_STANDARD_INVALID&#160;</td><td class="fielddoc"><p>Invalid value; the instruction is not a system call. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf903f1f8ddcb9710d191943763e6474aa69930e50071ec752f31c32456bff58b2"></a>SYSCALL_STANDARD_IA32_LINUX&#160;</td><td class="fielddoc"><p>Linux system call on IA-32 architecture. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf903f1f8ddcb9710d191943763e6474aaafc5144a517a838cb36d5b2ccbcd3f29"></a>SYSCALL_STANDARD_IA32_LINUX_SYSENTER&#160;</td><td class="fielddoc"><p>Linux system call via 'sysenter' on IA-32 architecture. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf903f1f8ddcb9710d191943763e6474aa05e78d10b4fd27077cf80a367dab1cd9"></a>SYSCALL_STANDARD_IA32E_LINUX&#160;</td><td class="fielddoc"><p>Linux system call on Intel(R) 64 architecture. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf903f1f8ddcb9710d191943763e6474aa35a2680a0748049a4af27ff712f1ab17"></a>SYSCALL_STANDARD_IA32E_LINUX_VSYSCALL&#160;</td><td class="fielddoc"><p>Linux virtual system call on Intel(R) 64 architecture. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf903f1f8ddcb9710d191943763e6474aa4563431ff4eb6c56dbd02a36eabd7ce7"></a>SYSCALL_STANDARD_IA32_MAC&#160;</td><td class="fielddoc"><p>macOS* system call in IA-32 architecture </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf903f1f8ddcb9710d191943763e6474aa355377c83c5f82eccbfec209f8f0039c"></a>SYSCALL_STANDARD_IA32E_MAC&#160;</td><td class="fielddoc"><p>macOS* system call in Intel(R) 64 architecture </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf903f1f8ddcb9710d191943763e6474aa5b3664fc9691e21bae092c595167400f"></a>SYSCALL_STANDARD_IA32_WINDOWS_FAST&#160;</td><td class="fielddoc"><p>"Fast" (SYSENTER) Windows system call in IA-32 architecture </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf903f1f8ddcb9710d191943763e6474aaafbea58d993a4a04acedcc193ad40085"></a>SYSCALL_STANDARD_IA32E_WINDOWS_FAST&#160;</td><td class="fielddoc"><p>"Fast" (SYSCALL) Windows system call in Intel(R) 64 architecture </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf903f1f8ddcb9710d191943763e6474aa0dddcc9510d9b6baed3073a57e255aee"></a>SYSCALL_STANDARD_IA32_WINDOWS_ALT&#160;</td><td class="fielddoc"><p>Alternative (INT2E) Windows system call in IA-32 architecture. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf903f1f8ddcb9710d191943763e6474aac1f978ca25c3786a3c8b0a6b5eb85d3b"></a>SYSCALL_STANDARD_WOW64&#160;</td><td class="fielddoc"><p>System call in WOW64 (32 bit process in 64-bit Windows) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf903f1f8ddcb9710d191943763e6474aae5e8c050bc24d144b3dcd6bbb76aa3d5"></a>SYSCALL_STANDARD_WINDOWS_INT&#160;</td><td class="fielddoc"><p>Software interruption (INT n) in Windows. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga9aff372b50f9c5710ee2127d5f2cc90c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9aff372b50f9c5710ee2127d5f2cc90c">&#9670;&nbsp;</a></span>CATEGORY_StringShort()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string CATEGORY_StringShort </td>
          <td>(</td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>String form of category </dd></dl>

</div>
</div>
<a id="gaa4bb9e749f4a4c80215f29c116a7e279"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa4bb9e749f4a4c80215f29c116a7e279">&#9670;&nbsp;</a></span>EXTENSION_StringShort()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string EXTENSION_StringShort </td>
          <td>(</td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>String form of ISA extension </dd></dl>

</div>
</div>
<a id="gab16f7dbf05bc9f916da996e8e6bd7bf8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab16f7dbf05bc9f916da996e8e6bd7bf8">&#9670;&nbsp;</a></span>INS_Address()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ADDRINT INS_Address </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Address of instruction</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="ga08c8427ca46f8776050a64ce28544725"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga08c8427ca46f8776050a64ce28544725">&#9670;&nbsp;</a></span>INS_AddressSizePrefix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_AddressSizePrefix </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction has an address size prefix. </dd></dl>

</div>
</div>
<a id="ga6a95871422336f9f56751ae8f9d502f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6a95871422336f9f56751ae8f9d502f6">&#9670;&nbsp;</a></span>INS_BranchNotTakenPrefix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_BranchNotTakenPrefix </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction has an branch not taken hint prefix </dd></dl>

</div>
</div>
<a id="ga2e4e0575a9639c8ca07e447038c00cbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2e4e0575a9639c8ca07e447038c00cbe">&#9670;&nbsp;</a></span>INS_BranchTakenPrefix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_BranchTakenPrefix </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction has an branch taken hint prefix </dd></dl>

</div>
</div>
<a id="ga3d71d53c5043092d5dbc7c96a2c30b5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3d71d53c5043092d5dbc7c96a2c30b5b">&#9670;&nbsp;</a></span>INS_Category()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INT32 INS_Category </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The category of an instruction is a higher level semantic description of an instruction than its opcode (<a class="el" href="group__INS__INSPECTION.html#ga016c475100a4665f5f8e8dfdbf518da5">INS_Opcode</a>). So, for instance, you can test for a conditional branch by using INS_Category(ins) == XED_CATEGORY_COND_BR, whereas using INS_Opcode(ins) would require that you enumerate all twenty conditional branch opcodes.</p>
<p>The full mapping of opcodes to categories can be found in the idata.txt file in the Intel(R) X86 Encoder Decoder distribution (which is distributed as part of the Pin kit). The category enumeration can be found in the file "xed-category-enum.h".</p>
<p>A category can be converted into a string by using <a class="el" href="group__INS__INSPECTION.html#ga9aff372b50f9c5710ee2127d5f2cc90c">CATEGORY_StringShort</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>Instruction category </dd></dl>

</div>
</div>
<a id="ga835a4c186436ac7a9c252da16b2a8bc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga835a4c186436ac7a9c252da16b2a8bc2">&#9670;&nbsp;</a></span>INS_ChangeReg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_ChangeReg </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td>
          <td class="paramname"><em>old_reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td>
          <td class="paramname"><em>new_reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const BOOL&#160;</td>
          <td class="paramname"><em>as_read</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Change all occurrences of old_reg to new_reg in the r/w sets of the ins. Return TRUE if at least one occurrence changed. </p>

</div>
</div>
<a id="ga2270a4a2dde88f77acbfdf065caada7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2270a4a2dde88f77acbfdf065caada7c">&#9670;&nbsp;</a></span>INS_DirectBranchOrCallTargetAddress()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PIN_DEPRECATED_API ADDRINT INS_DirectBranchOrCallTargetAddress </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>For direct branches or calls, the target address </dd></dl>
<dl class="section note"><dt>Note</dt><dd>DEPRECATED: see <a class="el" href="group__INS__INSPECTION.html#ga201b13c2d99e665a9758950d83c28bef">INS_DirectControlFlowTargetAddress()</a> instead. </dd></dl>

</div>
</div>
<a id="ga201b13c2d99e665a9758950d83c28bef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga201b13c2d99e665a9758950d83c28bef">&#9670;&nbsp;</a></span>INS_DirectControlFlowTargetAddress()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ADDRINT INS_DirectControlFlowTargetAddress </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the target address for direct control-flow instructions. must verify that <a class="el" href="group__INS__INSPECTION.html#gaac6f6422ce76cfbaad86c7f432f818ab">INS_IsDirectControlFlow()</a> is true before using this function. Refer to <a class="el" href="group__INS__INSPECTION.html#ga308d89e7d9f39b8a0daf908778513457">INS_IsControlFlow()</a> for more details on control-flow instructions. </dd></dl>

</div>
</div>
<a id="ga7158e5bde981e182f3163f1cad673caf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7158e5bde981e182f3163f1cad673caf">&#9670;&nbsp;</a></span>INS_Disassemble()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string INS_Disassemble </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>std::string disassembly of instruction </dd></dl>

</div>
</div>
<a id="ga4757e2b80c1f7d07cf2d3b12a71e4c0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4757e2b80c1f7d07cf2d3b12a71e4c0a">&#9670;&nbsp;</a></span>INS_EffectiveAddressWidth()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 INS_EffectiveAddressWidth </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the width of the effective address in bits </dd></dl>

</div>
</div>
<a id="ga263a91b2234b8650b858675450a72085"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga263a91b2234b8650b858675450a72085">&#9670;&nbsp;</a></span>INS_Extension()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INT32 INS_Extension </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Instruction extension, Use EXTENSION_StringShort to make it a string </dd></dl>

</div>
</div>
<a id="gaae788ba063300f59ab21fc67c4129250"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaae788ba063300f59ab21fc67c4129250">&#9670;&nbsp;</a></span>INS_FullRegRContain()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_FullRegRContain </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td>
          <td class="paramname"><em>reg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins uses reg as a read operand </dd></dl>

</div>
</div>
<a id="ga3ba87ee35e6c55f0a18bc57a4a2f2765"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3ba87ee35e6c55f0a18bc57a4a2f2765">&#9670;&nbsp;</a></span>INS_FullRegWContain()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_FullRegWContain </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td>
          <td class="paramname"><em>reg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins uses reg as a write operand </dd></dl>

</div>
</div>
<a id="gad8f09aca94ec4149d51312f28bb15bb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad8f09aca94ec4149d51312f28bb15bb4">&#9670;&nbsp;</a></span>INS_GetFarPointer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">VOID INS_GetFarPointer </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT16 &amp;&#160;</td>
          <td class="paramname"><em>segment_selector</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32 &amp;&#160;</td>
          <td class="paramname"><em>displacement</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the segment selector and displacement from a direct far jump. </dd></dl>

</div>
</div>
<a id="gabc091ecbe538934b9ea83ce7882d1c31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabc091ecbe538934b9ea83ce7882d1c31">&#9670;&nbsp;</a></span>INS_GetPredicate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__INS__INSPECTION.html#gaa0f5cf48b3b01ce2e18a76312cf5ebbd">PREDICATE</a> INS_GetPredicate </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>predicate for instruction (see <a class="el" href="group__INS__INSPECTION.html#gaa0f5cf48b3b01ce2e18a76312cf5ebbd">PREDICATE</a>)</dd></dl>
<p>CMOVcc and FMOVcc instructions are treated as predicated. Rep string ops are treated as predicated. </p>

</div>
</div>
<a id="gaa682a21a59a07397feac5a7107b7c7e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa682a21a59a07397feac5a7107b7c7e7">&#9670;&nbsp;</a></span>INS_HasExplicitMemoryReference()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_HasExplicitMemoryReference </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Test if this instruction has an explict memory operand. We include the memory operand in lea.</p>
<dl class="section return"><dt>Returns</dt><dd>TRUE if the instruction is has an explicit memory operand </dd></dl>

</div>
</div>
<a id="ga7602edb17e52e209492bab2c65fc1612"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7602edb17e52e209492bab2c65fc1612">&#9670;&nbsp;</a></span>INS_HasFallThrough()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_HasFallThrough </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>If <a class="el" href="group__INS__INSPECTION.html#ga7602edb17e52e209492bab2c65fc1612">INS_HasFallThrough(INS)</a> is TRUE, then the instruction may execute the "natural" next instruction (i.e. the one which starts immediately after this one), if it is FALSE, then the instruction following the one tested will not (normally) be executed next. So HasFallThrough is TRUE for instructions which don't change the control flow (most instructions), or for conditional branches (which might change the control flow, but might not), and FALSE for unconditional branches and calls (where the next instruction to be executed is always explicitly specified).</p>
<p>Note that an unconditional branch or call to the next instruction still doesn't have a fall-through, since a fall through is the implicitly following instruction, and an unconditional branch never uses that.</p>
<dl class="section return"><dt>Returns</dt><dd>true if the instruction type has a fallthrough path based on the opcode </dd></dl>
<dl class="section note"><dt>Note</dt><dd>for system calls function returns false. </dd></dl>

</div>
</div>
<a id="ga6d0d259ec5db15fba1ee77f073ac6e33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6d0d259ec5db15fba1ee77f073ac6e33">&#9670;&nbsp;</a></span>INS_HasMemoryRead2()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_HasMemoryRead2 </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this instruction has 2 memory read operands </dd></dl>

</div>
</div>
<a id="gaac7bf03b0bd4f696a57f6beed7815896"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaac7bf03b0bd4f696a57f6beed7815896">&#9670;&nbsp;</a></span>INS_HasMemoryVector()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_HasMemoryVector </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE iff the ins has a memory vector, i.e. the memory is accessed using a base address and an index vector with a scale. </dd></dl>

</div>
</div>
<a id="gaec452037ed224616326f47e68456cf74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaec452037ed224616326f47e68456cf74">&#9670;&nbsp;</a></span>INS_HasRealRep()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_HasRealRep </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this file contains functions visible in level_core it uses primitives from level_core_with_ia32_ins but does not leak out any IA32 stuff!</p>
<dl class="section return"><dt>Returns</dt><dd>whether the instruction has a real REP/REPZ/REPNZ prefix (i.e. one which is not just part of the opcode encoding but does cause the instruction to repeat). </dd></dl>

</div>
</div>
<a id="gad1ade5b21d590fd2a53b6e98a835c553"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad1ade5b21d590fd2a53b6e98a835c553">&#9670;&nbsp;</a></span>INS_HasScatteredMemoryAccess()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_HasScatteredMemoryAccess </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE iff the ins has scattered memory access. Scattered memory access means that the instruction does not access the memory as a single sequential block, but rather is scattered into multiple memory blocks. For exmaple, with the vscatter/vgather instructions, the index vector register is broken down to multiple index values that are used together with the base address, scale and displacement to access multiple blocks. </dd></dl>

</div>
</div>
<a id="ga95ed2863ea5b8db8aaf5b06547beeba1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga95ed2863ea5b8db8aaf5b06547beeba1">&#9670;&nbsp;</a></span>INS_Invalid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INS INS_Invalid </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Invalid instruction used in iterators <a class="el" href="group__INS__INSPECTION.html#ga8215f6ed3d87e4ba3b6c7f570a32459a">INS_Prev</a> and <a class="el" href="group__INS__INSPECTION.html#ga41b5451478a4122627b6cd2eeda1a16c">INS_Next</a></dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="gaa31c7176d19d938c7f399ecc5bdc21b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa31c7176d19d938c7f399ecc5bdc21b9">&#9670;&nbsp;</a></span>INS_IsAddedForFunctionReplacement()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsAddedForFunctionReplacement </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return TRUE if ins is not an original instruction in the application, but is an instruction added by Pin for doing function replacement. Pin allows you to even instrument these non-original instructions in JIT mode.</p>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="gac5503a690bc11074480b303c2ba5d04a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac5503a690bc11074480b303c2ba5d04a">&#9670;&nbsp;</a></span>INS_IsAmx()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsAmx </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return TRUE iff the ins is an AMX instruction </p>

</div>
</div>
<a id="gaa517ca64b89debd7e4e1f39132edd0af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa517ca64b89debd7e4e1f39132edd0af">&#9670;&nbsp;</a></span>INS_IsAtomicUpdate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsAtomicUpdate </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this instruction performs an atomic update of memory. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>An XCHG instruction accessing memory is atomic with or without a LOCK prefix. </dd></dl>

</div>
</div>
<a id="ga7b9e0d9a23e7e7734ba7a7fbc7438e50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7b9e0d9a23e7e7734ba7a7fbc7438e50">&#9670;&nbsp;</a></span>INS_IsBranch()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsBranch </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins is a branch instruction. A branch can be conditional or unconditional. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>In some cases branch instructions are actually system calls. In case ins is in practice a system call, the function returns false. For example, JMP_FAR in Windows IA-32 can be a system call under certain conditions. </dd></dl>

</div>
</div>
<a id="ga17175054ff9f2ac0a213c4ab7bf023a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga17175054ff9f2ac0a213c4ab7bf023a1">&#9670;&nbsp;</a></span>INS_IsBranchOrCall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PIN_DEPRECATED_API BOOL INS_IsBranchOrCall </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if ins is a Branch or Call instruction, includes both direct and indirect instruction types.<br  />
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>DEPRECATED: Use <a class="el" href="group__INS__INSPECTION.html#gab13f78210172b7647bf5979b4e7f764f">INS_IsValidForIpointTakenBranch()</a> instead to check if you can use IPOINT_TAKEN_BRANCH. Or use <a class="el" href="group__INS__INSPECTION.html#ga308d89e7d9f39b8a0daf908778513457">INS_IsControlFlow()</a> to check if instruction is a control flow. </dd></dl>

</div>
</div>
<a id="gafd61789fb5b6cc5f6bc5b92f73834529"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafd61789fb5b6cc5f6bc5b92f73834529">&#9670;&nbsp;</a></span>INS_IsCacheLineFlush()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsCacheLineFlush </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if instruction causes cache line flush </dd></dl>

</div>
</div>
<a id="gabc3f11f960e327ff50cd4c0899fa42d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabc3f11f960e327ff50cd4c0899fa42d6">&#9670;&nbsp;</a></span>INS_IsCall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsCall </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins is a Call instruction. Note: In case ins is in practice a system call, the function returns false. </dd></dl>

</div>
</div>
<a id="ga308d89e7d9f39b8a0daf908778513457"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga308d89e7d9f39b8a0daf908778513457">&#9670;&nbsp;</a></span>INS_IsControlFlow()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsControlFlow </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins is a Control Flow instruction. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>In general, any Branch, Call or Ret is a control flow instruction. However, we exclude any instruction which in practice is a system call (e.g. FAR_JMP in Windows with IA32 is sometimes a syscall).<br  />
In addition, note that it returns true for Xbegin and Xend instructions. Use this function to verify that an instruction is valid for instrumentation with <a class="el" href="group__INST__ARGS.html#gga089c27ca15e9ff139dd3a3f8a6f8451daa1b650f4229df434f3ac5ef61f14d0ed">IARG_BRANCH_TARGET_ADDR</a>. </dd></dl>

</div>
</div>
<a id="ga1211486a7015b74165c5f49c56e786b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1211486a7015b74165c5f49c56e786b7">&#9670;&nbsp;</a></span>INS_IsDirectBranch()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsDirectBranch </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>These are supposed to be near relative branches. </p><dl class="section return"><dt>Returns</dt><dd>true if the target address is an offset from the instruction pointer or is an immediate. </dd></dl>

</div>
</div>
<a id="ga9645bebf4e0f7b32a7d7985a49a3a3f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9645bebf4e0f7b32a7d7985a49a3a3f4">&#9670;&nbsp;</a></span>INS_IsDirectBranchOrCall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PIN_DEPRECATED_API BOOL INS_IsDirectBranchOrCall </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>These are supposed to be near relative branches. </p><dl class="section return"><dt>Returns</dt><dd>true if the target address is an offset from the instruction pointer or is an immediate. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>DEPRECATED: see <a class="el" href="group__INS__INSPECTION.html#gaac6f6422ce76cfbaad86c7f432f818ab">INS_IsDirectControlFlow()</a> instead. </dd></dl>

</div>
</div>
<a id="gaf9585dfe3e965a348cd8f2bec5b33cd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf9585dfe3e965a348cd8f2bec5b33cd8">&#9670;&nbsp;</a></span>INS_IsDirectCall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsDirectCall </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>These are supposed to be near relative branches. </p><dl class="section return"><dt>Returns</dt><dd>true if the target address is an offset from the instruction pointer or is an immediate. </dd></dl>

</div>
</div>
<a id="gaac6f6422ce76cfbaad86c7f432f818ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaac6f6422ce76cfbaad86c7f432f818ab">&#9670;&nbsp;</a></span>INS_IsDirectControlFlow()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsDirectControlFlow </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if ins is a control-flow instruction, and its target address is an offset from the instruction pointer or is an immediate. </dd></dl>

</div>
</div>
<a id="ga8b2917c493864644cd85597e4d85e79a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8b2917c493864644cd85597e4d85e79a">&#9670;&nbsp;</a></span>INS_IsDirectFarJump()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsDirectFarJump </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the target address is a direct far jump </dd></dl>

</div>
</div>
<a id="ga3f681d101030540ee15712d23e89c5ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3f681d101030540ee15712d23e89c5ea">&#9670;&nbsp;</a></span>INS_IsFarCall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsFarCall </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins is a Far Call instruction </dd></dl>

</div>
</div>
<a id="gabe125bae2f10dc5a82bafb1cbd99ec03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabe125bae2f10dc5a82bafb1cbd99ec03">&#9670;&nbsp;</a></span>INS_IsFarJump()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsFarJump </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins is a Far Jump instruction </dd></dl>

</div>
</div>
<a id="ga096d2054bf6155352c96ffdb685a93d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga096d2054bf6155352c96ffdb685a93d3">&#9670;&nbsp;</a></span>INS_IsFarRet()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsFarRet </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins is a far ret instruction </dd></dl>

</div>
</div>
<a id="ga8f770f9a1da3b0a924fb582ab92f4be7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8f770f9a1da3b0a924fb582ab92f4be7">&#9670;&nbsp;</a></span>INS_IsHalt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsHalt </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the ins is a halt or reserved undefined (UD2) instruction. </dd></dl>

</div>
</div>
<a id="gad02da07511bf7980f121828324c93a52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad02da07511bf7980f121828324c93a52">&#9670;&nbsp;</a></span>INS_IsIndirectBranchOrCall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PIN_DEPRECATED_API BOOL INS_IsIndirectBranchOrCall </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the branch target comes from a register or memory. result is valid only if <a class="el" href="group__INS__INSPECTION.html#ga308d89e7d9f39b8a0daf908778513457">INS_IsControlFlow()</a> is true. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>DEPRECATED: see <a class="el" href="group__INS__INSPECTION.html#ga13dea1531859ee5759d376a9e5617918">INS_IsIndirectControlFlow()</a> instead. </dd></dl>

</div>
</div>
<a id="ga13dea1531859ee5759d376a9e5617918"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga13dea1531859ee5759d376a9e5617918">&#9670;&nbsp;</a></span>INS_IsIndirectControlFlow()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsIndirectControlFlow </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins is a control-flow instruction, and its target address is provided through memory or through a register. </dd></dl>

</div>
</div>
<a id="gaa13314e8a43b158f580047ead78b72cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa13314e8a43b158f580047ead78b72cd">&#9670;&nbsp;</a></span>INS_IsInterrupt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsInterrupt </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return TRUE if the INS is an interrupt category instruction </p>

</div>
</div>
<a id="ga52fb144aef5a1962cd6050b0dd9e872b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga52fb144aef5a1962cd6050b0dd9e872b">&#9670;&nbsp;</a></span>INS_IsIpRelRead()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsIpRelRead </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Is an IP-relative read </p>

</div>
</div>
<a id="ga2e46a2329a9ec52511fc3c0e6f97e354"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2e46a2329a9ec52511fc3c0e6f97e354">&#9670;&nbsp;</a></span>INS_IsIpRelWrite()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsIpRelWrite </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Is an IP-relative write </p>

</div>
</div>
<a id="ga4ca6657c4f2a1dd2aec83c7bea228f3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4ca6657c4f2a1dd2aec83c7bea228f3d">&#9670;&nbsp;</a></span>INS_IsIRet()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsIRet </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns true iff the given ins is an iret instruction. </p><dl class="section note"><dt>Note</dt><dd>See also <a class="el" href="group__INS__INSPECTION.html#gae1bf4fca7d6060e4d6f2b12a3b5d06a4">INS_IsRet</a>. </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>true if the instruction is an iret. </dd></dl>

</div>
</div>
<a id="ga72a8648d1c8afbcb00081cf6767aa5e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga72a8648d1c8afbcb00081cf6767aa5e7">&#9670;&nbsp;</a></span>INS_IsLea()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsLea </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if the instruction is Lea. </dd></dl>

</div>
</div>
<a id="gac5aca7e74c0603e20a742f0980b7cda3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac5aca7e74c0603e20a742f0980b7cda3">&#9670;&nbsp;</a></span>INS_IsMaskMov()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsMaskMov </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this instruction is a maskmovq or maskmovdqu. </dd></dl>

</div>
</div>
<a id="gab1170badee8568aebff586fa7d131b37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab1170badee8568aebff586fa7d131b37">&#9670;&nbsp;</a></span>INS_IsMemoryRead()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsMemoryRead </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this instruction reads memory</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Segment prefix operands (i.e. gs:0x14 ) are memory operands. </dd></dl>

</div>
</div>
<a id="ga88783aed583f78262e7bbcbcaeb5fe09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga88783aed583f78262e7bbcbcaeb5fe09">&#9670;&nbsp;</a></span>INS_IsMemoryWrite()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsMemoryWrite </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this instruction writes memory</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Segment prefix operands (i.e. gs:0x14 ) are memory operands. </dd></dl>

</div>
</div>
<a id="gab6f52ff1102a22d51990f0122c108759"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab6f52ff1102a22d51990f0122c108759">&#9670;&nbsp;</a></span>INS_IsMov()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsMov </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>returns true if this instruction is a move. </p>

</div>
</div>
<a id="ga15e022f900d0831f350aa65928e27ea1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga15e022f900d0831f350aa65928e27ea1">&#9670;&nbsp;</a></span>INS_IsMovFullRegRegSame()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsMovFullRegRegSame </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>returns true if this instruction is a mov reg1, reg1. And reg1 is a full reg </p>

</div>
</div>
<a id="ga8c2a537d225974e306deac478094e207"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8c2a537d225974e306deac478094e207">&#9670;&nbsp;</a></span>INS_IsNop()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsNop </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if the instruction is a nop. </dd></dl>

</div>
</div>
<a id="ga7cf9a2c0cd1041fcb8d672bf2fe89859"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7cf9a2c0cd1041fcb8d672bf2fe89859">&#9670;&nbsp;</a></span>INS_IsOriginal()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsOriginal </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this is an original instruction </dd></dl>

</div>
</div>
<a id="ga54c2afb6ee9de26b18b8581d4d578f0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga54c2afb6ee9de26b18b8581d4d578f0c">&#9670;&nbsp;</a></span>INS_IsPcMaterialization()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsPcMaterialization </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this is a call to the next instruction, which is an idiom for materializing the instruction pointer </dd></dl>

</div>
</div>
<a id="ga1cfa7fb07799f93822756da2359d0f98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1cfa7fb07799f93822756da2359d0f98">&#9670;&nbsp;</a></span>INS_IsPredicated()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsPredicated </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>We treat these instructions as predicated conditional move (CMOVcc) floating conditional move (FCMOVcc) rep string ops (since they don't execute if GCX==0) </p>

</div>
</div>
<a id="ga8f601e4e60712eb4bf2df0ee58c8afd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8f601e4e60712eb4bf2df0ee58c8afd0">&#9670;&nbsp;</a></span>INS_IsPrefetch()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsPrefetch </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this instruction is a prefetch </dd></dl>

</div>
</div>
<a id="ga06ee153ecc802fb954da9a9afe39d868"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga06ee153ecc802fb954da9a9afe39d868">&#9670;&nbsp;</a></span>INS_IsProcedureCall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsProcedureCall </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins is a procedure call. This filters out call instructions that are (ab)used for other purposes </dd></dl>

</div>
</div>
<a id="ga527fcdaa01b21e9def864cc83d4648ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga527fcdaa01b21e9def864cc83d4648ac">&#9670;&nbsp;</a></span>INS_IsRDTSC()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsRDTSC </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this instruction is an rdtsc or rdtscp. </dd></dl>

</div>
</div>
<a id="gae1bf4fca7d6060e4d6f2b12a3b5d06a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae1bf4fca7d6060e4d6f2b12a3b5d06a4">&#9670;&nbsp;</a></span>INS_IsRet()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsRet </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns true if the given ins is a ret instruction. </p><dl class="section note"><dt>Note</dt><dd>This function will return true for iret instructions as well. </dd>
<dd>
See also <a class="el" href="group__INS__INSPECTION.html#ga4ca6657c4f2a1dd2aec83c7bea228f3d">INS_IsIRet</a>. </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>true if the instruction is ret or iret. </dd></dl>

</div>
</div>
<a id="gab4bcc02676e0ae2a108e24ae1e4b6ecf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab4bcc02676e0ae2a108e24ae1e4b6ecf">&#9670;&nbsp;</a></span>INS_IsStackRead()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsStackRead </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Access to the stack simply means that the instruction accesses memory relative to the stack pointer (ESP or RSP), or the frame pointer (EBP or RBP). In code compiled without a frame pointer (where EBP/RBP is used as a general register), this may give a misleading result.</p>
<dl class="section return"><dt>Returns</dt><dd>TRUE if ins is a read from the stack </dd></dl>

</div>
</div>
<a id="ga5a3cbd97d1e9feec3459c8630a401cb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5a3cbd97d1e9feec3459c8630a401cb7">&#9670;&nbsp;</a></span>INS_IsStackWrite()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsStackWrite </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Detection of stack accesses is done in the same way as for <a class="el" href="group__INS__INSPECTION.html#gab4bcc02676e0ae2a108e24ae1e4b6ecf">INS_IsStackRead</a>, so the same caveats apply here too.</p>
<dl class="section return"><dt>Returns</dt><dd>TRUE if ins is a write to the stack </dd></dl>

</div>
</div>
<a id="gae682a5640e4fc234895c16dbc45d3266"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae682a5640e4fc234895c16dbc45d3266">&#9670;&nbsp;</a></span>INS_IsStandardMemop()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsStandardMemop </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>false if this instruction has a memory operand which has unconventional meaning (e.g. vectorized memory reference of the GATHER/SCATTER instructions or some of the XSAVE instructions). </dd></dl>

</div>
</div>
<a id="ga5d5c26ac8a093cb3ea326ce1f91e21c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5d5c26ac8a093cb3ea326ce1f91e21c5">&#9670;&nbsp;</a></span>INS_IsStringop()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsStringop </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction is a string op (can be REP prefixed). </dd></dl>

</div>
</div>
<a id="gac2a95e056295b1da4cdb9964aa591112"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac2a95e056295b1da4cdb9964aa591112">&#9670;&nbsp;</a></span>INS_IsSub()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsSub </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>returns true if this instruction is a subtract. </p>

</div>
</div>
<a id="ga25e16efec6fbac076c3997797b320344"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga25e16efec6fbac076c3997797b320344">&#9670;&nbsp;</a></span>INS_IsSyscall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsSyscall </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Syscall information for Unix/x86 systems</p>
<dl class="section return"><dt>Returns</dt><dd>true if the instruction is a system call </dd></dl>

</div>
</div>
<a id="gaa769aebdca13544d020bf2a8ce12457e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa769aebdca13544d020bf2a8ce12457e">&#9670;&nbsp;</a></span>INS_IsSysenter()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsSysenter </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction is a SysEnter </dd></dl>

</div>
</div>
<a id="gaeafeb11038db885475c9acd01d28fe85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeafeb11038db885475c9acd01d28fe85">&#9670;&nbsp;</a></span>INS_IsSysret()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsSysret </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins is a System Return instruction </dd></dl>

</div>
</div>
<a id="gacd61a39496ab833613206747e16d3fa7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacd61a39496ab833613206747e16d3fa7">&#9670;&nbsp;</a></span>INS_IsValidForIarg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsValidForIarg </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__INST__ARGS.html#ga089c27ca15e9ff139dd3a3f8a6f8451d">IARG_TYPE</a>&#160;</td>
          <td class="paramname"><em>argType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This file contains functions that inspect instructions with regard to IARGs.</p>
<p>This function checks whether the IARG can be used with the instruction. Currently the supported IARGs are <a class="el" href="group__INST__ARGS.html#gga089c27ca15e9ff139dd3a3f8a6f8451da581b5886a7e69629a45607ac34adbf2c">IARG_MULTI_ELEMENT_OPERAND</a> and <a class="el" href="group__INST__ARGS.html#gga089c27ca15e9ff139dd3a3f8a6f8451daf366ff3d1e14bc23162ad18c47b63c1f">IARG_REWRITE_SCATTERED_MEMOP</a>. For all other IARGs the function will return TRUE.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>The instruction to inspect </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">argType</td><td>The IARG_TYPE enum to use with the instruction</td></tr>
  </table>
  </dd>
</dl>
<p>@Return true if the specified IARG type can be used in the specified instruction, false otherwise. </p>

</div>
</div>
<a id="gaef208009ec86a213f7574b65fe2603c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef208009ec86a213f7574b65fe2603c0">&#9670;&nbsp;</a></span>INS_IsValidForIpointAfter()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsValidForIpointAfter </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if ins can be instrumented at location IPOINT_AFTER. </dd></dl>

</div>
</div>
<a id="gab13f78210172b7647bf5979b4e7f764f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab13f78210172b7647bf5979b4e7f764f">&#9670;&nbsp;</a></span>INS_IsValidForIpointTakenBranch()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsValidForIpointTakenBranch </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if ins can be instrumented at location IPOINT_TAKEN_BRANCH. </dd></dl>

</div>
</div>
<a id="ga98f086d31ad53876afa5d3e98b0d0b52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga98f086d31ad53876afa5d3e98b0d0b52">&#9670;&nbsp;</a></span>INS_IsVgather()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsVgather </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE iff the ins is a VGATHER* instruction </dd></dl>

</div>
</div>
<a id="gaa361d3578e67bf041170c9580a4912ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa361d3578e67bf041170c9580a4912ae">&#9670;&nbsp;</a></span>INS_IsVscatter()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsVscatter </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE iff the ins is a VSCATTER* instruction </dd></dl>

</div>
</div>
<a id="gadc9313292e087d5a37871013bbf4455d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadc9313292e087d5a37871013bbf4455d">&#9670;&nbsp;</a></span>INS_IsXbegin()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsXbegin </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction is a Xbegin </dd></dl>

</div>
</div>
<a id="ga6da2eb08991e003c2bf7344100278ffd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6da2eb08991e003c2bf7344100278ffd">&#9670;&nbsp;</a></span>INS_IsXchg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsXchg </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction is an "xchg" </dd></dl>

</div>
</div>
<a id="ga5ea902b08b21cd0b9a25d6b497b71ecc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5ea902b08b21cd0b9a25d6b497b71ecc">&#9670;&nbsp;</a></span>INS_IsXend()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_IsXend </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction is a Xend </dd></dl>

</div>
</div>
<a id="gaedec63f23d754647667cd714c8001af3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaedec63f23d754647667cd714c8001af3">&#9670;&nbsp;</a></span>INS_LockPrefix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_LockPrefix </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction has a lock prefix. </dd></dl>

</div>
</div>
<a id="ga09a517bd84de8e70d6bfbce932eeffbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga09a517bd84de8e70d6bfbce932eeffbd">&#9670;&nbsp;</a></span>INS_MaskRegister()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_MaskRegister </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the mask register used in the given instruction if such exist, REG_INVALID otherwise.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>The vector instruction in question.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The mask register used in vector instruction, or REG_INVALID if no mask register is used. </dd></dl>

</div>
</div>
<a id="gaca49479dff7386abb7da962d45aa716b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaca49479dff7386abb7da962d45aa716b">&#9670;&nbsp;</a></span>INS_MaxNumRRegs()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 INS_MaxNumRRegs </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>ELF specific stuff related to INS</p>
<dl class="section return"><dt>Returns</dt><dd>Maximum number of read operands </dd></dl>

</div>
</div>
<a id="ga82aeda45eb9634fceb3e12e70839de34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga82aeda45eb9634fceb3e12e70839de34">&#9670;&nbsp;</a></span>INS_MaxNumWRegs()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 INS_MaxNumWRegs </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Maximum number of write operands </dd></dl>

</div>
</div>
<a id="ga28ea7c27eff42264de45ee427531fc1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga28ea7c27eff42264de45ee427531fc1c">&#9670;&nbsp;</a></span>INS_MemoryBaseReg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_MemoryBaseReg </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The base register used in the instruction's memory operand, or <a class="el" href="group__REG.html#gadc4695959b1508fbcf668927ab92ef18">REG_INVALID()</a> if there is no base register. </dd></dl>

</div>
</div>
<a id="gad63a5e54b1ba36a4450b484e6a151117"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad63a5e54b1ba36a4450b484e6a151117">&#9670;&nbsp;</a></span>INS_MemoryDisplacement()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ADDRDELTA INS_MemoryDisplacement </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The memory displacement of an instrucation with memory operand. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>: the displacement is a signed number. </dd></dl>

</div>
</div>
<a id="ga5b04a25a5e366081e919a661474e6f5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5b04a25a5e366081e919a661474e6f5f">&#9670;&nbsp;</a></span>INS_MemoryIndexReg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_MemoryIndexReg </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The index register used in the instruction's memory operand, or <a class="el" href="group__REG.html#gadc4695959b1508fbcf668927ab92ef18">REG_INVALID()</a> if there is no index register. </dd></dl>

</div>
</div>
<a id="gaa01f153aa19aeb478458cf2042d05a01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa01f153aa19aeb478458cf2042d05a01">&#9670;&nbsp;</a></span>INS_MemoryOperandCount()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 INS_MemoryOperandCount </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the number of memory operands. Please note <a class="el" href="group__INS__INSPECTION.html#ga48e9034dc81f2a2e5f1a61ec4c68b497">INS_MemoryOperandElementCount</a> for reading the number of elements per memory operand.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Segment prefix operands (i.e. gs:0x14 ) are memory operands. </dd></dl>

</div>
</div>
<a id="ga48e9034dc81f2a2e5f1a61ec4c68b497"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga48e9034dc81f2a2e5f1a61ec4c68b497">&#9670;&nbsp;</a></span>INS_MemoryOperandElementCount()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 INS_MemoryOperandElementCount </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>memoryOp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the number of elements in the requested memory operand. For instructions where the memory operands has not elemenets, returns 1. </dd></dl>

</div>
</div>
<a id="gafa78b79577f4cdf4ca898b13e324d4f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafa78b79577f4cdf4ca898b13e324d4f8">&#9670;&nbsp;</a></span>INS_MemoryOperandElementSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">USIZE INS_MemoryOperandElementSize </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>memoryOp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>the instruction. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">memoryOp</td><td>the memory operand index whose element size is required.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the size of the requested memory operand element in bytes. For scalar instructions, this function will return the same as INS_MemoryOperandSize. For vector instructions, this function will return the size of a single element. </dd></dl>

</div>
</div>
<a id="ga67a5b6c52c0cae6256557d4bc8729ab8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga67a5b6c52c0cae6256557d4bc8729ab8">&#9670;&nbsp;</a></span>INS_MemoryOperandIndexToOperandIndex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 INS_MemoryOperandIndexToOperandIndex </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>memopIdx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Convert a memory operand index into a simple operand index.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>The instruction. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">memopIdx</td><td>Memory operand's index in the range [0, n-1], where n is from <a class="el" href="group__INS__INSPECTION.html#gaa01f153aa19aeb478458cf2042d05a01">INS_MemoryOperandCount()</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>operand index </dd></dl>

</div>
</div>
<a id="ga2db1205b7749b176d9145d911bad461c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2db1205b7749b176d9145d911bad461c">&#9670;&nbsp;</a></span>INS_MemoryOperandIsRead()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_MemoryOperandIsRead </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>memopIdx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if memory operand memopIdx is read </dd></dl>

</div>
</div>
<a id="gab66a50260dde64035e46a831f5d4b1dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab66a50260dde64035e46a831f5d4b1dc">&#9670;&nbsp;</a></span>INS_MemoryOperandIsWritten()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_MemoryOperandIsWritten </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>memopIdx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if memory operand memopIdx is written </dd></dl>

</div>
</div>
<a id="gaa905931fcdcac481c789192e0bd30014"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa905931fcdcac481c789192e0bd30014">&#9670;&nbsp;</a></span>INS_MemoryOperandSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">USIZE INS_MemoryOperandSize </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>memoryOp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>the instruction. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">memoryOp</td><td>the memory operand index whose size is required.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the size of the requested memory operand in bytes (for REPped instructions this is the size accessed in each iteration of the implicit loop). The operand of instructions with scattered memory access (like vscatter/vgather) does not have a size, and this function should not be called for these functions. Use INS_HasScatteredMemoryAccess before calling this function. </dd></dl>

</div>
</div>
<a id="gaeb34a54f477c20bcd3006e44d0798c0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeb34a54f477c20bcd3006e44d0798c0d">&#9670;&nbsp;</a></span>INS_MemoryReadSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PIN_DEPRECATED_API USIZE INS_MemoryReadSize </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the size of the memory read in bytes (for REP prefixed instructions this is the size of the operand read on each iteration of the REP, so 1,2,4 or 8). </dd></dl>
<dl class="section note"><dt>Note</dt><dd>DEPRECATED: see <a class="el" href="group__INS__INSPECTION.html#gaa905931fcdcac481c789192e0bd30014">INS_MemoryOperandSize()</a> instead. </dd></dl>

</div>
</div>
<a id="ga9bc15536ae05615d31335e4dacd76130"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9bc15536ae05615d31335e4dacd76130">&#9670;&nbsp;</a></span>INS_MemoryScale()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 INS_MemoryScale </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The scale factor (1,2,4,8) by which the index register in the instruction's memory operand is multiplied. </dd></dl>

</div>
</div>
<a id="gad66ba6f0f0822848ddbf287e84f87df8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad66ba6f0f0822848ddbf287e84f87df8">&#9670;&nbsp;</a></span>INS_MemoryWriteSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PIN_DEPRECATED_API USIZE INS_MemoryWriteSize </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the size of the memory write in bytes (for REP prefixed instructions this is the size of the operand written on each iteration of the REP, so 1,2,4 or 8). </dd></dl>
<dl class="section note"><dt>Note</dt><dd>DEPRECATED: see <a class="el" href="group__INS__INSPECTION.html#gaa905931fcdcac481c789192e0bd30014">INS_MemoryOperandSize()</a> instead. </dd></dl>

</div>
</div>
<a id="gafcdc1ff2798f1bd76628c2de1487a284"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafcdc1ff2798f1bd76628c2de1487a284">&#9670;&nbsp;</a></span>INS_Mnemonic()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string INS_Mnemonic </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Only use this function if you really want a printable version of the instruction's opcode.</p>
<p>If you are trying to test what the opcode of an instruction is, use <a class="el" href="group__INS__INSPECTION.html#ga016c475100a4665f5f8e8dfdbf518da5">INS_Opcode</a> and compare it with one of the XED_ICLASS values, or use one of the INS_Is... calls such as <a class="el" href="group__INS__INSPECTION.html#gab6f52ff1102a22d51990f0122c108759">INS_IsMov</a>, rather than using this function and comparing a string. Generating and comparing strings is much slower than comparing small integer values!</p>
<dl class="section return"><dt>Returns</dt><dd>String form of mnemonic </dd></dl>

</div>
</div>
<a id="ga41b5451478a4122627b6cd2eeda1a16c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga41b5451478a4122627b6cd2eeda1a16c">&#9670;&nbsp;</a></span>INS_Next()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INS INS_Next </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Instruction that follows x, or <a class="el" href="group__INS__INSPECTION.html#ga95ed2863ea5b8db8aaf5b06547beeba1">INS_Invalid()</a> if x is the last in the rtn or trace</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="ga13f921362eb07927951010f074677bcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga13f921362eb07927951010f074677bcc">&#9670;&nbsp;</a></span>INS_NextAddress()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ADDRINT INS_NextAddress </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the address of the next instruction. </p><dl class="section return"><dt>Returns</dt><dd>Address of instruction that follows this one </dd></dl>

</div>
</div>
<a id="ga016c475100a4665f5f8e8dfdbf518da5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga016c475100a4665f5f8e8dfdbf518da5">&#9670;&nbsp;</a></span>INS_Opcode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OPCODE INS_Opcode </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>On ia-32 and Intel64 the opcodes are constants of the form XED_ICLASS_name. The full list of valid opcodes can be found in the idata.txt file in the Intel(R) X86 Encoder Decoder distribution (which is distributed as part of the Pin kit), and the enum definitions are in the file "xed-iclass-enum.h".</p>
<p>Use <a class="el" href="group__INS__INSPECTION.html#gafcdc1ff2798f1bd76628c2de1487a284">INS_Mnemonic</a> if you want a string.</p>
<dl class="section return"><dt>Returns</dt><dd>Opcode of instruction </dd></dl>

</div>
</div>
<a id="ga68a9e9a74a8028c7563375be7c230f3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga68a9e9a74a8028c7563375be7c230f3a">&#9670;&nbsp;</a></span>INS_OperandCount()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 INS_OperandCount </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>ia32 specific stuff related to OPERAND</p>
<p>Tells the number of operands for the instruction. Several other APIs take an operand index as a parameter. Those APIs expect an index in the range [0, n-1], where n is the value returned by <a class="el" href="group__INS__INSPECTION.html#ga68a9e9a74a8028c7563375be7c230f3a">INS_OperandCount()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>The instruction.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of operands for the instruction. </dd></dl>

</div>
</div>
<a id="ga3390b29d8191050119050c038f9dce8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3390b29d8191050119050c038f9dce8a">&#9670;&nbsp;</a></span>INS_OperandElementCount()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 INS_OperandElementCount </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>opIdx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>The instruction. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">opIdx</td><td>The operand index whose element count is required. The operand can be either a memory operand or a register operand. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of elements in the requested operand. For AMX instructions, this function will return 0 since the number is elements is not known at instrumentation time. See <a class="el" href="group__INS__INSPECTION.html#ga75ca91e0ea573688572123db944fcda3">INS_OperandHasElements</a>. Returns 1 if this operand has no elements. </dd></dl>

</div>
</div>
<a id="ga1150b9fcd86aaf0807683412b909f22a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1150b9fcd86aaf0807683412b909f22a">&#9670;&nbsp;</a></span>INS_OperandElementSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">USIZE INS_OperandElementSize </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>opIdx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>The instruction. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">opIdx</td><td>The operand index whose element size is required. The operand can be either a memory operand or a register operand. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the size of the requested operand element in bytes. For scalar instructions, this function will return the same as INS_OperandSize. For vector instructions, this function will return the size of a single element. For vscatter/vgather, this function will return the size of a single load/store. </dd></dl>

</div>
</div>
<a id="ga75ca91e0ea573688572123db944fcda3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga75ca91e0ea573688572123db944fcda3">&#9670;&nbsp;</a></span>INS_OperandHasElements()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandHasElements </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>opIdx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>The instruction. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">opIdx</td><td>The operand index. The operand can be either a memory operand or a register operand. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if the requested operand has elements, FALSE otherwise. For all instructions except AMX, this function will return TRUE when the value returned by INS_OperandElementCount is greater than 1. AMX is a special case because the number of elements is determined dynamically by both the encoded instruction and the tile configuration metadata (which is set dynamically with LDTILECFG). Therefore <a class="el" href="group__INS__INSPECTION.html#ga3390b29d8191050119050c038f9dce8a">INS_OperandElementCount()</a> cannot return its value at instrumentation time. </dd></dl>

</div>
</div>
<a id="gab53dc2b4142ff9f104cf4a9c4d952845"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab53dc2b4142ff9f104cf4a9c4d952845">&#9670;&nbsp;</a></span>INS_OperandImmediate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT64 INS_OperandImmediate </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Although return type is UINT64, on 32-bit systems only the lower 32 bits are utilized. To see how to retrieve immediate values with correct width and sign information, see example in test tool PinTools/SimpleExamples/oper-imm.cpp. </p><dl class="section return"><dt>Returns</dt><dd>immediate value for operand </dd></dl>

</div>
</div>
<a id="gac610cf9dbd53deeba31c2277006d70fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac610cf9dbd53deeba31c2277006d70fd">&#9670;&nbsp;</a></span>INS_OperandIsAddressGenerator()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandIsAddressGenerator </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this operand generates an address, but the address does not access memory (e.g. load effective address instruction) </dd></dl>

</div>
</div>
<a id="gab2869fa6158976e73fa91fb5a19ad054"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab2869fa6158976e73fa91fb5a19ad054">&#9670;&nbsp;</a></span>INS_OperandIsBranchDisplacement()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandIsBranchDisplacement </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this operand is a displacement (e.g. branch offset) </dd></dl>

</div>
</div>
<a id="ga1c5fa1253299975b9038e2f839f137b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1c5fa1253299975b9038e2f839f137b6">&#9670;&nbsp;</a></span>INS_OperandIsFixedMemop()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandIsFixedMemop </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if memory operand uses predefined base register and this register can not be changed Example: movs ds:(esi), es:(edi) There are two fixed operands </dd></dl>

</div>
</div>
<a id="ga43b03561626b62fd27a0e699692fde04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga43b03561626b62fd27a0e699692fde04">&#9670;&nbsp;</a></span>INS_OperandIsImmediate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandIsImmediate </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this operand is an immediate </dd></dl>

</div>
</div>
<a id="gab022da45d7331aae8b2642a9e8ddbe4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab022da45d7331aae8b2642a9e8ddbe4c">&#9670;&nbsp;</a></span>INS_OperandIsImplicit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandIsImplicit </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this operand is implied by the opcode (e.g. the stack write in a push instruction) </dd></dl>

</div>
</div>
<a id="ga742593b20994f62aaaa841794b97dba4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga742593b20994f62aaaa841794b97dba4">&#9670;&nbsp;</a></span>INS_OperandIsMemory()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandIsMemory </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this operand is a memory reference</dd></dl>
<p>Note: this does not include LEA operands. </p>

</div>
</div>
<a id="gae860ce689d370e278440310b882d0440"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae860ce689d370e278440310b882d0440">&#9670;&nbsp;</a></span>INS_OperandIsReg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandIsReg </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this operand is a register </dd></dl>

</div>
</div>
<a id="gaf1084ae5fd648934ffe2b4b12b1df935"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf1084ae5fd648934ffe2b4b12b1df935">&#9670;&nbsp;</a></span>INS_OperandIsSegmentReg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandIsSegmentReg </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this operand is a segment register </dd></dl>

</div>
</div>
<a id="gae726545c04460e7696bb284df320f4f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae726545c04460e7696bb284df320f4f2">&#9670;&nbsp;</a></span>INS_OperandMemoryBaseReg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_OperandMemoryBaseReg </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>register used as base register in memory operand, or <a class="el" href="group__REG.html#gadc4695959b1508fbcf668927ab92ef18">REG_INVALID()</a> Effective address = Displacement + BaseReg + IndexReg * Scale </dd></dl>

</div>
</div>
<a id="gab15523f2c2dc93599a8f59dd61057973"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab15523f2c2dc93599a8f59dd61057973">&#9670;&nbsp;</a></span>INS_OperandMemoryDisplacement()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ADDRDELTA INS_OperandMemoryDisplacement </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The memory displacement of an instrucation with memory operand. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>the displacement is a signed number. Effective address = Displacement + BaseReg + IndexReg * Scale </dd></dl>

</div>
</div>
<a id="gaaa9a52ca96e3cc0bc5150fa9e7f87c0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaa9a52ca96e3cc0bc5150fa9e7f87c0e">&#9670;&nbsp;</a></span>INS_OperandMemoryIndexReg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_OperandMemoryIndexReg </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>register used as index register in memory operand, or <a class="el" href="group__REG.html#gadc4695959b1508fbcf668927ab92ef18">REG_INVALID()</a> Effective address = Displacement + BaseReg + IndexReg * Scale </dd></dl>

</div>
</div>
<a id="ga8a20d2d4be126df6469a5161f97eca6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8a20d2d4be126df6469a5161f97eca6c">&#9670;&nbsp;</a></span>INS_OperandMemoryScale()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 INS_OperandMemoryScale </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>scale used for addressing in memory operand. Effective address = Displacement + BaseReg + IndexReg * Scale </dd></dl>

</div>
</div>
<a id="gab55682e63100b3ebc5326237ad83c171"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab55682e63100b3ebc5326237ad83c171">&#9670;&nbsp;</a></span>INS_OperandMemorySegmentReg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_OperandMemorySegmentReg </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>register used as segment register in memory operand, or <a class="el" href="group__REG.html#gadc4695959b1508fbcf668927ab92ef18">REG_INVALID()</a> </dd></dl>

</div>
</div>
<a id="ga9233f304c34ac2a24c39345eb31e7b15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9233f304c34ac2a24c39345eb31e7b15">&#9670;&nbsp;</a></span>INS_OperandRead()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandRead </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Tells if an instruction operand is a source; it may also be a destination.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>The instruction. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Operand's index in the range [0, n-1], where n is from <a class="el" href="group__INS__INSPECTION.html#ga68a9e9a74a8028c7563375be7c230f3a">INS_OperandCount()</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if the operand is a source. </dd></dl>

</div>
</div>
<a id="ga3de89936066fff8ed6ade7aa8cdb8822"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3de89936066fff8ed6ade7aa8cdb8822">&#9670;&nbsp;</a></span>INS_OperandReadAndWritten()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandReadAndWritten </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Tells if an instruction operand is both a source and a destination.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>The instruction. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Operand's index in the range [0, n-1], where n is from <a class="el" href="group__INS__INSPECTION.html#ga68a9e9a74a8028c7563375be7c230f3a">INS_OperandCount()</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if the operand is both a source and a destination. </dd></dl>

</div>
</div>
<a id="ga717be313a730cb54502d0e01a5529eea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga717be313a730cb54502d0e01a5529eea">&#9670;&nbsp;</a></span>INS_OperandReadOnly()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandReadOnly </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Tells if an instruction operand is just a source (and not a destination).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>The instruction. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Operand's index in the range [0, n-1], where n is from <a class="el" href="group__INS__INSPECTION.html#ga68a9e9a74a8028c7563375be7c230f3a">INS_OperandCount()</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if the operand is just a source. </dd></dl>

</div>
</div>
<a id="ga4b3136c05e383bea3f91a5204b87a570"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4b3136c05e383bea3f91a5204b87a570">&#9670;&nbsp;</a></span>INS_OperandReg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_OperandReg </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>register name for this operand, may return <a class="el" href="group__REG.html#gadc4695959b1508fbcf668927ab92ef18">REG_INVALID()</a> </dd></dl>

</div>
</div>
<a id="gaf95b32d966c70948bc2bd73226909869"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf95b32d966c70948bc2bd73226909869">&#9670;&nbsp;</a></span>INS_OperandSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 INS_OperandSize </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function will generate an error for memory operands in instructions where <a class="el" href="group__INS__INSPECTION.html#gad1ade5b21d590fd2a53b6e98a835c553">INS_HasScatteredMemoryAccess</a> returns TRUE. <br  />
</p><dl class="section return"><dt>Returns</dt><dd>operand size in bytes. </dd></dl>

</div>
</div>
<a id="ga0e4cbbd8fe8eb79b6629f8150a16571a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0e4cbbd8fe8eb79b6629f8150a16571a">&#9670;&nbsp;</a></span>INS_OperandSizePrefix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandSizePrefix </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction has an operand size prefix. </dd></dl>

</div>
</div>
<a id="ga4fc45dd076d7de4fb42ee273d0fb2ae8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4fc45dd076d7de4fb42ee273d0fb2ae8">&#9670;&nbsp;</a></span>INS_OperandWidth()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 INS_OperandWidth </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>operand width in bits. </dd></dl>

</div>
</div>
<a id="ga5f878705486eb595557cf1af0f7be562"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5f878705486eb595557cf1af0f7be562">&#9670;&nbsp;</a></span>INS_OperandWritten()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandWritten </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Tells if an instruction operand is a destination; it may also be a source.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>The instruction. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Operand's index in the range [0, n-1], where n is from <a class="el" href="group__INS__INSPECTION.html#ga68a9e9a74a8028c7563375be7c230f3a">INS_OperandCount()</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if the operand is a destination. </dd></dl>

</div>
</div>
<a id="ga98490395bafb6b8798494a36cd064f09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga98490395bafb6b8798494a36cd064f09">&#9670;&nbsp;</a></span>INS_OperandWrittenOnly()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_OperandWrittenOnly </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Tells if an instruction operand is just a destination (and not a source).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ins</td><td>The instruction. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Operand's index in the range [0, n-1], where n is from <a class="el" href="group__INS__INSPECTION.html#ga68a9e9a74a8028c7563375be7c230f3a">INS_OperandCount()</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if the operand is just a destination. </dd></dl>

</div>
</div>
<a id="ga8215f6ed3d87e4ba3b6c7f570a32459a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8215f6ed3d87e4ba3b6c7f570a32459a">&#9670;&nbsp;</a></span>INS_Prev()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INS INS_Prev </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Instruction that precedes x, or <a class="el" href="group__INS__INSPECTION.html#ga95ed2863ea5b8db8aaf5b06547beeba1">INS_Invalid()</a> if x is the first in the rtn or trace</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="ga990a23fc02e9bd79b95a3e9360a1bf87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga990a23fc02e9bd79b95a3e9360a1bf87">&#9670;&nbsp;</a></span>INS_RegIsImplicit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_RegIsImplicit </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td>
          <td class="paramname"><em>reg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Assumes that reg is a PIN register </p><dl class="section return"><dt>Returns</dt><dd>true if the ins has </dd></dl>

</div>
</div>
<a id="ga484023161d148e5b68a0efb19346421d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga484023161d148e5b68a0efb19346421d">&#9670;&nbsp;</a></span>INS_RegR()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_RegR </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>k</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>kth read register of instruction x, including implicit reads (e.g. stack pointer is read by push on IA-32 architectures) </dd></dl>

</div>
</div>
<a id="ga21c9b5ea337536bc28a6d1cfb985c639"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga21c9b5ea337536bc28a6d1cfb985c639">&#9670;&nbsp;</a></span>INS_RegRContain()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_RegRContain </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td>
          <td class="paramname"><em>reg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins uses reg as a read operand </dd></dl>

</div>
</div>
<a id="gacd975d0a7a75984d4f32349ef0ed7747"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacd975d0a7a75984d4f32349ef0ed7747">&#9670;&nbsp;</a></span>INS_RegW()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_RegW </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>k</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>kth write register of instruction x, including implicit writes (e.g. stack pointer is written by push on IA-32 architectures) </dd></dl>

</div>
</div>
<a id="gab319902e019d907d773a1c6799d4ea32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab319902e019d907d773a1c6799d4ea32">&#9670;&nbsp;</a></span>INS_RegWContain()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_RegWContain </td>
          <td>(</td>
          <td class="paramtype">const INS&#160;</td>
          <td class="paramname"><em>ins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td>
          <td class="paramname"><em>reg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins uses reg as a write operand </dd></dl>

</div>
</div>
<a id="ga32d37a0dcd2f199ed5165f5ff90edf25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga32d37a0dcd2f199ed5165f5ff90edf25">&#9670;&nbsp;</a></span>INS_RepCountRegister()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_RepCountRegister </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>register used as the repeat counter by this REP prefixed instruction, or <a class="el" href="group__REG.html#gadc4695959b1508fbcf668927ab92ef18">REG_INVALID()</a> if the instruction does not have a real REP prefix. </dd></dl>

</div>
</div>
<a id="gad3b2ca2ecd0f47029a3dbd5767e698f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad3b2ca2ecd0f47029a3dbd5767e698f7">&#9670;&nbsp;</a></span>INS_RepnePrefix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_RepnePrefix </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction has an REPNE (0xF2) prefix. </dd></dl>

</div>
</div>
<a id="gacd76a6f0a537b66f5fb08d871561c180"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacd76a6f0a537b66f5fb08d871561c180">&#9670;&nbsp;</a></span>INS_RepPrefix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_RepPrefix </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction has an REP (0xF3) prefix. </dd></dl>

</div>
</div>
<a id="gaab0ca5b8bfb42ab0f3cef7f17d4153da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaab0ca5b8bfb42ab0f3cef7f17d4153da">&#9670;&nbsp;</a></span>INS_Rtn()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RTN INS_Rtn </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Routine that contains this instruction</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="ga0c255e9311ec629c0fd4f0aa53e2a166"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0c255e9311ec629c0fd4f0aa53e2a166">&#9670;&nbsp;</a></span>INS_SegmentPrefix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_SegmentPrefix </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instruction has a segment prefix; Call <a class="el" href="group__INS__INSPECTION.html#gae044036c57a49ff5c29d6994445bade8">INS_SegmentRegPrefix()</a> to get the actual prefix register name. </dd></dl>

</div>
</div>
<a id="gae044036c57a49ff5c29d6994445bade8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae044036c57a49ff5c29d6994445bade8">&#9670;&nbsp;</a></span>INS_SegmentRegPrefix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_SegmentRegPrefix </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Segment overide prefix used by INS </dd></dl>

</div>
</div>
<a id="gaa06399e42f72b6906c94df623a23fa0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa06399e42f72b6906c94df623a23fa0f">&#9670;&nbsp;</a></span>INS_SegPrefixIsMemoryRead()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_SegPrefixIsMemoryRead </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this Seg prefixed instruction reads memory </dd></dl>

</div>
</div>
<a id="ga700b74c8ab57f909f1e2c2d1094fc6b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga700b74c8ab57f909f1e2c2d1094fc6b5">&#9670;&nbsp;</a></span>INS_SegPrefixIsMemoryWrite()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_SegPrefixIsMemoryWrite </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this Seg prefixed instruction writes to memory </dd></dl>

</div>
</div>
<a id="ga9658738a9670bafe1f7060ed131c2062"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9658738a9670bafe1f7060ed131c2062">&#9670;&nbsp;</a></span>INS_Size()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">USIZE INS_Size </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Size of instruction in bytes </dd></dl>

</div>
</div>
<a id="ga80ad206699f655a22e9a7cf46592dca5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga80ad206699f655a22e9a7cf46592dca5">&#9670;&nbsp;</a></span>INS_Stutters()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_Stutters </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if ins "stutters", so re-executes even though it is not a branch or call. REP prefixed string ops do this. </dd></dl>

</div>
</div>
<a id="gaa1c865a7582fea271d50c67710349d06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa1c865a7582fea271d50c67710349d06">&#9670;&nbsp;</a></span>INS_SyscallStd()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__INS__INSPECTION.html#gaf903f1f8ddcb9710d191943763e6474a">SYSCALL_STANDARD</a> INS_SyscallStd </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Check to see if the given instruction is a system call and return corresponding calling standard. </p><dl class="section return"><dt>Returns</dt><dd>calling standard of the system call instruction or SYSCALL_STANDARD_INVALID if the instruction is not a system call. </dd></dl>

</div>
</div>
<a id="ga09f3096b5ea86d2896bb6eef02890958"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga09f3096b5ea86d2896bb6eef02890958">&#9670;&nbsp;</a></span>INS_Valid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL INS_Valid </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Invalid instruction used in iterators <a class="el" href="group__INS__INSPECTION.html#ga8215f6ed3d87e4ba3b6c7f570a32459a">INS_Prev</a> and <a class="el" href="group__INS__INSPECTION.html#ga41b5451478a4122627b6cd2eeda1a16c">INS_Next</a></dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="ga14e917d264aacc2b8e7e95963f768ccc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga14e917d264aacc2b8e7e95963f768ccc">&#9670;&nbsp;</a></span>INS_XedDec()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">xed_decoded_inst_t* INS_XedDec </td>
          <td>(</td>
          <td class="paramtype">INS&#160;</td>
          <td class="paramname"><em>ins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Intel(R) X86 Encoder Decoder low-level support routines.</p>
<p>This supports the other core_ia32 files and is the lowest level interface to Intel(R) XED encoding/decoding.</p>
<dl class="section return"><dt>Returns</dt><dd>This provides the pointer to the decoded Intel(R) X86 Encoder Decoder instruction. </dd></dl>

</div>
</div>
<a id="gaeddde4b64a0009640facf6482bed4850"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeddde4b64a0009640facf6482bed4850">&#9670;&nbsp;</a></span>INS_XedExactMapFromPinReg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">xed_reg_enum_t INS_XedExactMapFromPinReg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a>&#160;</td>
          <td class="paramname"><em>pin_reg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Convert Pin REG type (application register) to an Intel(R) X86 Encoder Decoder xed_reg_enum_t register. </p><dl class="section return"><dt>Returns</dt><dd>xed reg mapping to pin reg. if no map returns XED_REG_INVALID </dd></dl>

</div>
</div>
<a id="ga37648c4d7d964df9973969c497f7eb90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga37648c4d7d964df9973969c497f7eb90">&#9670;&nbsp;</a></span>INS_XedExactMapToPinReg() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PIN_DEPRECATED_API <a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_XedExactMapToPinReg </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>r</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Convert a Intel(R) X86 Encoder Decoder xed_reg_enum_t register to a Pin REG type. </p><dl class="section return"><dt>Returns</dt><dd>a valid pin register, but never an invalid one. Asserts if there is no exact map. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>DEPRECATED: Use <a class="el" href="group__INS__INSPECTION.html#ga1ec5f46a0bd404ae2d9e04823f79072c">INS_XedExactMapToPinReg(xed_reg_enum_t xed_reg)</a> instead </dd></dl>

</div>
</div>
<a id="ga1ec5f46a0bd404ae2d9e04823f79072c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1ec5f46a0bd404ae2d9e04823f79072c">&#9670;&nbsp;</a></span>INS_XedExactMapToPinReg() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__REG.html#ga8f899d7ad1af070aae505a85cc998fa5">REG</a> INS_XedExactMapToPinReg </td>
          <td>(</td>
          <td class="paramtype">xed_reg_enum_t&#160;</td>
          <td class="paramname"><em>xed_reg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Convert a Intel(R) X86 Encoder Decoder xed_reg_enum_t register to a Pin REG type. </p><dl class="section return"><dt>Returns</dt><dd>a valid pin register, but never an invalid one. Asserts if there is no exact map. </dd></dl>

</div>
</div>
<a id="gaf5f24968bc08823284ca34b5b05e02ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf5f24968bc08823284ca34b5b05e02ac">&#9670;&nbsp;</a></span>OPCODE_StringShort()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string OPCODE_StringShort </td>
          <td>(</td>
          <td class="paramtype">UINT32&#160;</td>
          <td class="paramname"><em>opcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>String with the opcode of the instruction </dd></dl>

</div>
</div>
<a id="gacb29bf88df0b86e5bed6f7f1c6d4219d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacb29bf88df0b86e5bed6f7f1c6d4219d">&#9670;&nbsp;</a></span>PIN_SetSyntaxATT()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">VOID PIN_SetSyntaxATT </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the disassembly syntax to ATT SYSV format. (Destination on the right) </p>

</div>
</div>
<a id="gaf25e644f3d8ee4907ea96e60b759b828"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf25e644f3d8ee4907ea96e60b759b828">&#9670;&nbsp;</a></span>PIN_SetSyntaxIntel()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">VOID PIN_SetSyntaxIntel </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the disassembly syntax to Intel format. (Destination on the left) </p>

</div>
</div>
<a id="ga568a93b99e9e70be947fb428cc0c6f9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga568a93b99e9e70be947fb428cc0c6f9f">&#9670;&nbsp;</a></span>PIN_SetSyntaxXED()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">VOID PIN_SetSyntaxXED </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the disassembly syntax to Intel(R) X86 Encoder Decoder detailed format which lists all resources read and written. </p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="ga5da3b48943c5402e8abfe5876525529c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5da3b48943c5402e8abfe5876525529c">&#9670;&nbsp;</a></span>VSYSCALL_NR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const UINT32 VSYSCALL_NR = 0xABCDDCBA</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This file contains INS primitives</p>
<p>system call number for function called from vsyscall </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
